var xhttp;

function createXMLHttpRequest() {
    if (window.ActiveXObject) {
        try {
            // IE 6 and higher
            xhttp = new ActiveXObject("MSXML2.XMLHTTP");
        }
        catch (e) {
            try {
                // IE 5
                xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {
                xhttp = false;
            }
        }
    }
    else if (window.XMLHttpRequest) {
        try {
            // Mozilla, Opera, Safari ...
            xhttp = new XMLHttpRequest();
        }
        catch (e) {
            xhttp = false;
        }
    }
}

var ajaxdestination = "";

function getdata(source, element) { // get data from source (source)

    createXMLHttpRequest();

    document.getElementById(element).innerHTML = "<div align='center' style='padding-top: 50px;'><img src='../templates/rr_default/images/loader.gif'></div>";
    ajaxdestination = element;
    xhttp.onreadystatechange = triggered;
    xhttp.open("GET", source);
    xhttp.send(null);
    return true;
}

function triggered() {
    if (xhttp.readyState == 4) if (xhttp.status == 200) {
        document.getElementById(ajaxdestination).innerHTML = xhttp.responseText;
    }
}

function selectserver(serverUrl) {
    //var selectedValue = document.getElementById("dlServer").value;
    document.location.href = serverUrl;
}

function toggle(div_id) {
    var el = document.getElementById(div_id);
    if (el.style.display == 'none') { el.style.display = 'block'; }
    else { el.style.display = 'none'; }
}

function blanket_size(popUpDivVar) {
    if (typeof window.innerWidth != 'undefined') {
        viewportheight = window.innerHeight;
    } else {
        viewportheight = document.documentElement.clientHeight;
    }
    if ((viewportheight > document.body.parentNode.scrollHeight) && (viewportheight > document.body.parentNode.clientHeight)) {
        blanket_height = viewportheight;
    } else {
        if (document.body.parentNode.clientHeight > document.body.parentNode.scrollHeight) {
            blanket_height = document.body.parentNode.clientHeight;
        } else {
            blanket_height = document.body.parentNode.scrollHeight;
        }
    }
    var blanket = document.getElementById('blanket');
    blanket.style.height = blanket_height + 'px';
    var popUpDiv = document.getElementById(popUpDivVar);
	popUpDiv.style.top = document.documentElement.scrollTop + 'px';
    /*popUpDiv_height = blanket_height / 2 - 150; //150 is half popup's height*/
    /*popUpDiv.style.top = popUpDiv_height + 'px';*/
    /*popUpDiv.style.top = '10%';*/
}

function window_pos(popUpDivVar) {
    if (typeof window.innerWidth != 'undefined') {
        viewportwidth = window.innerHeight;
    } else {
        viewportwidth = document.documentElement.clientHeight;
    }
    if ((viewportwidth > document.body.parentNode.scrollWidth) && (viewportwidth > document.body.parentNode.clientWidth)) {
        window_width = viewportwidth;
    } else {
        if (document.body.parentNode.clientWidth > document.body.parentNode.scrollWidth) {
            window_width = document.body.parentNode.clientWidth;
        } else {
            window_width = document.body.parentNode.scrollWidth;
        }
    }
    var popUpDiv = document.getElementById(popUpDivVar);

    /*window_width = window_width / 2 - 325; //150 is half popup's width*/
    /*popUpDiv.style.left = window_width + 'px';*/
   /* popUpDiv.style.left = '31%';*/
}

function popup(windowname, gbid) {
    blanket_size(windowname);
    window_pos(windowname);
    toggle('blanket');
	
	isIE6 = /msie|MSIE 6/.test(navigator.userAgent);
	if(isIE6){
	    toggle('gameselect');	
	}
    toggle(windowname);

    if (gbid) {
        getdata('product_detail.php?gbid=' + gbid, 'gbLayer');
    }
}




function Countdown(numGb) {
    var isGbExploded = false;
    numGb = 12;
    for (var i = 0; i < numGb; i++) {
        var priceMinElementName = 'gbMinPrice_' + i;
        var minPriceControl = document.getElementById(priceMinElementName);
        if (minPriceControl == null)
            continue;
        var minPrice = minPriceControl.innerHTML;

        var priceDecreaseName = 'gbPriceDecreasePerSecond_' + i;
        var priceDecreaseControl = document.getElementById(priceDecreaseName);

        var decreasePrice = priceDecreaseControl.innerHTML;

        var priceElementName = 'gbPrice_' + i;
        var priceControl = document.getElementById(priceElementName);
        var price = priceControl.innerHTML;

        //if(price <= minPrice)
        //	price = minPrice;
        //else
            price = price - decreasePrice;

        priceControl.innerHTML = price;

        var priceFractionalName = 'gbPriceElementFractionalDisplay_' + i;
        var priceFractionalControl = document.getElementById(priceFractionalName);
        var priceFractional = parseFloat(price).toFixed(3);

        var priceElementDisplay = 'gbPriceDisplay_' + i;
        var priceDisplayControl = document.getElementById(priceElementDisplay);
        var priceDisplay = parseFloat(price).toFixed(2);

        var priceDisplayFull = parseFloat(price).toFixed(3);
        //var priceFractional = (priceDisplayFull - priceDisplay + 0.0054) * 1000;
        //priceFractional = Math.floor(priceFractional);
        //if (priceFractional == 10)
        //    priceFractional = 9;

        priceFractionalControl.innerHTML = priceFractional;
        priceDisplayControl.innerHTML = priceDisplay;

        var minTime = 0;
        var timeElementName = 'gbTimeLeft_' + i;
        var timeControl = document.getElementById(timeElementName);
        var timeLeft = timeControl.innerHTML;

        if (timeLeft <= minTime) {
            isGbExploded = true;
            timeLeft = minTime;

            var obj = document.getElementById("gbBack_" + i);
            obj.className = "goldbomb-exploded";          
        }
        else
            timeLeft--;

        timeControl.innerHTML = timeLeft;

        var timeDisplay = 'gbTimeLeftDisplay_' + i;
        var timeDisplayElement = document.getElementById(timeDisplay);

        var hours = Math.floor(timeLeft / 3600);
        var minutes = Math.floor((timeLeft - hours * 3600) / 60);
        var minutesString = minutes.toString();
        if (minutes < 10) {
            minutesString = '0' + minutes.toString();
        }

        var seconds = timeLeft % 60;
        var secondsString = seconds.toString();
        if (seconds < 10) {
            secondsString = '0' + seconds.toString();
        }

        timeDisplayElement.innerHTML = hours + ':' + minutesString + ':' + secondsString;

        if (document.getElementById('gbDetailTimeLeft') != null) {
            var selectedGbElementName = 'gbSelectedId_' + i;
            var selectedGbControl = document.getElementById(selectedGbElementName);
            var selectedGbId = selectedGbControl.innerHTML;

            var gbIdName = 'gbId';
            var gbIdControl = document.getElementById(gbIdName);
            var gbId = gbIdControl.innerHTML;

            if (gbId == selectedGbId) {

                var timeDetailControl = document.getElementById('gbDetailTimeLeft');
                timeDetailControl.innerHTML = timeDisplayElement.innerHTML; //hours + ':' + minutesString + ':' + secondsString;

                var priceDetailControl = document.getElementById('gbDetailPrice');
                var priceFractionDetailControl = document.getElementById('gbDetailFractionPrice');

                priceDetailControl.innerHTML = priceDisplay;
                priceFractionDetailControl.innerHTML = priceFractional;
            }
        }
    }
    if (isGbExploded != false) {
        //if(gbCounterActiv)
        //{
        //window.clearInterval(gbCounterActiv);
        //}
//        var value = document.getElementById('dlServer').value;

//        getdata('select_server.php?id=' + value, 'gbList');

    }
}



//phone number verification
var digits = "0123456789";
var phoneNumberDelimiters = "()- ";
var validWorldPhoneChars = phoneNumberDelimiters + "+";
var minDigitsInIPhoneNumber = 10;

function isInteger(s) {
   var i;
   for (i = 0; i < s.length; i++)
   {   
       // Check that current character is number.
       var c = s.charAt(i);
       if (((c < "0") || (c > "9"))) return false;
   }
   // All characters are numbers.
   return true;
}

function trim(s) {
   var i;
   var returnString = "";
   // Search through string's characters one by one.
   // If character is not a whitespace, append to returnString.
   for (i = 0; i < s.length; i++)
   {   
       // Check that current character isn't whitespace.
       var c = s.charAt(i);
       if (c != " ") returnString += c;
   }
   return returnString;
}

function stripCharsInBag(s, bag) {
   var i;
   var returnString = "";
   // Search through string's characters one by one.
   // If character is not in bag, append to returnString.
   for (i = 0; i < s.length; i++)
   {   
       // Check that current character isn't whitespace.
       var c = s.charAt(i);
       if (bag.indexOf(c) == -1) returnString += c;
   }
   return returnString;
}

function checkInternationalPhone(strPhone){
  var bracket=3
  strPhone=trim(strPhone)
  if(strPhone.indexOf("+")>1) return false
  if(strPhone.indexOf("-")!=-1)bracket=bracket+1
  if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false
  var brchr=strPhone.indexOf("(")
  if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false
  if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
  s=stripCharsInBag(strPhone,validWorldPhoneChars);
  return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function ValidateForm(){
	var Phone=document.frmSample.txtPhone
	
	if ((Phone.value==null)||(Phone.value=="")){
		Phone.focus()
		return false
	}
	if (checkInternationalPhone(Phone.value)==false){
		Phone.value=""
		Phone.focus()
		return false
	}
	return true
 }


function activateSofortueberweisung() {

    toggle('gb_detail_payment_select');
    toggle('gb-detail-choosepayment');	
    toggle('gb_detail_payment_sofortueberweisung');

    var obj = document.getElementsByName('paymentmethod');
    if (obj[0]) {
        obj[0].value = 'Sofortueberweisung';
    }
    return;
}

function activatePayPal() {

    toggle('gb_detail_payment_select');
    toggle('gb-detail-choosepayment');	
    toggle('gb_detail_payment_paypal');

    var obj = document.getElementsByName('paymentmethod');
    if (obj[0]) {
        obj[0].value = 'PayPal';
    }
    return;
}


function activateCreditCard() {

    toggle('gb_detail_payment_select');
    toggle('gb-detail-choosepayment');	
    toggle('gb_detail_payment_creditcard');

    var obj = document.getElementsByName('paymentmethod');
    if (obj[0]) {
        obj[0].value = 'CreditCard';
    }
    return;
}


function deactivateSofortueberweisung() {

    toggle('gb_detail_payment_sofortueberweisung');
    toggle('gb_detail_payment_select');
    toggle('gb-detail-choosepayment');	

    var obj = document.getElementById('gbEmailWarning');
    if (obj)
        obj.innerHTML = '&nbsp;';

    return;
}

function deactivatePayPal() {

    toggle('gb_detail_payment_paypal');
    toggle('gb_detail_payment_select');
    toggle('gb-detail-choosepayment');	

    var obj = document.getElementById('gbEmailWarning');
    if (obj)
        obj.innerHTML = '&nbsp;';

    return;
}

function deactivateCreditCard() {

    toggle('gb_detail_payment_creditcard');
    toggle('gb_detail_payment_select');
    toggle('gb-detail-choosepayment');	

    var obj = document.getElementById('gbEmailWarning');
    if (obj)
        obj.innerHTML = '&nbsp;';

    return;
}

function checkCountryField(){

	if(document.gbmailform.select_gbphone_country.value == '0000'){
		document.gbmailform.select_gbphone_country.style.display='none';
		document.gbmailform.goldbombPhoneCountry.style.display='';	
	}
	if(document.gbmailform.select_gbphone_country_cc.value == '0000'){	
		document.gbmailform.select_gbphone_country_cc.style.display='none';
		document.gbmailform.goldbombPhoneCountryCC.style.display='';			
	}	
}
