var http = createRequestObject();

var code = null;

var action = null ;

var lastType = null ;

function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

function showDiamond(actionPar, cert) {
    action = actionPar;
    code = getCodeVariable(action);
    var headingcode = code+'h';
    var detailreplacelink = '<a href=\"javascript:hideDiamond(\'' + code + '\', \'' + cert + '\')\" style=\"text-decoration:none\">';
    var detailreplacebody = 'Details <img src=\"/images/up.gif\" alt=\"arrow\" border=\"0\" valign=\"center\"/></a>';
    var detailreplace = detailreplacelink + detailreplacebody;
    document.getElementById(code).style.display = '';
    document.getElementById(headingcode).innerHTML = detailreplace;
    http.open('get', '/diamonds/diamonditem-ajax.php?'+action);
    http.onreadystatechange = handleDiamond;
    http.send(null);
}

function addWatchlist(cid,diamondCode) {
    code = diamondCode;
    var count = Math.floor(Math.random()*100000);
    var qstring = 'wlcode='+code+'\&count='+count;
    http.open('get', '/watchlist.php?'+qstring);
    http.onreadystatechange = handleWatchlist;
    http.send(null);
}

function addWatchlistSS(cid,diamondCode) {
    code = diamondCode;
    var count = Math.floor(Math.random()*100000);
    var qstring = 'wlcode='+code+'\&count='+count+'\&ss=1';
    http.open('get', '/watchlist.php?'+qstring);
    http.onreadystatechange = handleWatchlistSS;
    http.send(null);
}

function deleteWatchlist(cid,diamondCode) {
    code = diamondCode;
    var count = Math.floor(Math.random()*100000);
    var qstring = 'wlcode='+code+'\&count='+count+'\&delete=1';
    http.open('get', '/watchlist.php?'+qstring);
    http.onreadystatechange = handleDeleteWatchlist;
    http.send(null);
}

function rb_add_diamond(diamondCode) {
    code = diamondCode;
    var count = Math.floor(Math.random()*100000);
    var qstring = 'diamondcode='+code+'\&count='+count;
    http.open('get', '/ringbuilder.php?'+qstring);
    http.onreadystatechange = handleRB_add_diamond;
    http.send(null);
}

function rb_add_3stone(diamondCode) {
    code = diamondCode;
    var count = Math.floor(Math.random()*100000);
    var qstring = 'diamondcode='+code+'\&count='+count;
    http.open('get', '/diamonds/select3stone.php?'+qstring);
    http.onreadystatechange = handleRB_add_3stone;
    http.send(null);
}

function rb_add_ring(ringCode) {
    var count = Math.floor(Math.random()*100000);
    var qstring = 'code='+ringCode+'\&count='+count;
    http.open('get', '/engagement_rings/selectmetal.php?'+qstring);
    http.onreadystatechange = handleRB_add_ring;
    http.send(null);
}

function rb_add_ring_2(ringCode) {
    var count = Math.floor(Math.random()*100000);
    var metal = document.getElementById('metaltype').value;
    var qstring = 'ringcode='+ringCode+'\&metal='+metal+'\&count='+count;
    http.open('get', '/ringbuilder.php?'+qstring);
    http.onreadystatechange = handleRB_add_ring_2;
    http.send(null);
}

function rb_add_3stone_2(diamondCode) {
    code = diamondCode;
    var count = Math.floor(Math.random()*100000);
    var diamondtype = document.getElementById('diamondtype').value;
    var qstring = 'diamondcode='+diamondCode+'\&diamondtype='+diamondtype+'\&count='+count;
    http.open('get', '/ringbuilder.php?'+qstring);
    http.onreadystatechange = handleRB_add_3stone_2;
    http.send(null);
}

function buy_ring(ringCode) {
    var count = Math.floor(Math.random()*100000);
    var qstring = 'code='+ringCode+'\&count='+count+'\&type=buy';
    http.open('get', '/engagement_rings/selectmetal.php?'+qstring);
    http.onreadystatechange = handle_buy_ring;
    http.send(null);
}

function buy_ring2(ringCode) {
    var metal = document.getElementById('metaltype').value;
    window.location = "https://www2.jogiadiamonds.com.au/cart/order.php?id="+ringCode+"\&metal="+metal;
}

function showEarrings(ecode, diamondtype) {
    code = ecode;
    var headingcode = 'nav-'+ecode;
    var bodycode = 'body-'+ecode;
    var detailreplace = '<a href=\"javascript:hideEarrings(\'' + ecode + '\')\" style=\"text-decoration:none\">Hide Mounts <img src=\"/images/up.gif\" alt=\"arrow\" border=\"0\" valign=\"center\"/></a>';
    document.getElementById(bodycode).style.display = '';
    document.getElementById(headingcode).innerHTML = detailreplace;
    http.open('get', '/earrings/earring-mounts.php?code='+ecode+'\&type='+diamondtype);
    http.onreadystatechange = handleEarrings;
    http.send(null);
}

function showEngRings(ringType, page) {
    var count = Math.floor(Math.random()*100000);
    var qstring = 'ringtype='+ringType+'\&page='+page+'\&count='+count;
    http.open('get', '/engagement_rings/showrings.php?'+qstring);
    http.onreadystatechange = handleShowEngRings;
    http.send(null);
}

function changePaymentType() {
    var count = Math.floor(Math.random()*100000);
    var paymenttype = document.getElementById('paymenttype').value;
    var qstring = 'type='+paymenttype+'\&count='+count;
    http.open('get', '/cart/payment-type.php?'+qstring);
    http.onreadystatechange = handlePaymentType;
    http.send(null);
}

function handleDiamond() {
    if(http.readyState == 4){
        var response = http.responseText;
	document.getElementById(code).innerHTML = response;
    }
}

function handleWatchlist() {
    if(http.readyState == 4){
	var elementID = code+'w';
        document.getElementById(elementID).innerHTML = '<img src=\"/images/check.gif\" alt=\"\" />';
        var response = http.responseText;
        document.getElementById('watchlist').innerHTML = response;
    }
}

function handleWatchlistSS() {
    if(http.readyState == 4){
        var elementID = 'watchlistSS';
	document.getElementById(elementID).innerHTML = 'Diamond in Watchlist';
        var response = http.responseText;
        document.getElementById('watchlist').innerHTML = response;
    }
}

function handleDeleteWatchlist() {
    if(http.readyState == 4){
        var response = http.responseText;
        document.getElementById('watchlist').innerHTML = response;
    }
}

function handleRB_add_diamond() {
    var spanId = 'rb_text_' + code;
    if(http.readyState == 1){
        document.getElementById(spanId).innerHTML = 'Please Wait...' ;
    }
    if(http.readyState == 4){
        var response = http.responseText;
	document.getElementById(spanId).innerHTML = 'Added To R/B' ;
        document.getElementById('builder').innerHTML = response;
    }
}

function handleRB_add_3stone() {
    var spanId = 'rb_text_' + code;
    if(http.readyState == 4){
        var response = http.responseText;
        document.getElementById(spanId).innerHTML = response;
    }
}

function handleRB_add_ring() {
    if(http.readyState == 4){
        var response = http.responseText;
        document.getElementById('rb_text').innerHTML = response;
    }
}

function handle_buy_ring() {
    if(http.readyState == 4){
        var response = http.responseText;
        document.getElementById('buy_text').innerHTML = response;
    }
}

function handleRB_add_ring_2() {
    if(http.readyState == 1){
        document.getElementById('rb_text').innerHTML = 'Please Wait...' ;
    }
    if(http.readyState == 4){
        var response = http.responseText;
        document.getElementById('rb_text').innerHTML = 'Setting Added To Ring Builder' ;
        document.getElementById('builder').innerHTML = response;
    }
}

function handleRB_add_3stone_2() {
    var spanId = 'rb_text_' + code;
    if(http.readyState == 1){
        document.getElementById(spanId).innerHTML = 'Please Wait...' ;
    }
    if(http.readyState == 4){
        var response = http.responseText;
        document.getElementById(spanId).innerHTML = 'Added to R/B' ;
        document.getElementById('builder').innerHTML = response;
    }
}

function handleEarrings() {
    if(http.readyState == 4){
        var response = http.responseText;
	var bodycode = 'body-'+code;
        document.getElementById(bodycode).innerHTML = response;
    }
}

function hideDiamond(thecode, cert) {
     document.getElementById(thecode).style.display = 'none';
     var headingcode = thecode+'h';
     var detailreplacelink = '<a href=\"/diamonds/diamonditem.php?code=' + thecode + '\" onclick=\"showDiamond(\'code=' + thecode + '\', \'' + cert + '\');return false;\" style=\"text-decoration:none\">';
     var detailreplacebody = 'Details <img src=\"/images/down.gif\" alt=\"arrow\" border=\"0\" valign=\"center\"/></a>';
     var detailreplace = detailreplacelink + detailreplacebody;
     document.getElementById(headingcode).innerHTML = detailreplace;
}

function hideEarrings(ecode) {
     var bodycode = 'body-'+ecode;
     document.getElementById(bodycode).style.display = 'none';
     var headingcode = 'nav-'+ecode;
     var detailreplace = '<a onclick="showEarrings(\''+ecode+'\'); event.returnValue = false; return false;" style="text-decoration:none" href="#">Choose Style <img src="/images/down.gif" alt="" /></a>'
     document.getElementById(headingcode).innerHTML = detailreplace;
}

function handleShowEngRings() {
    if(http.readyState == 4){
        var response = http.responseText;
        document.getElementById('eng_rings').innerHTML = response;
    }
}

function handlePaymentType() {
    if(http.readyState == 4){
        var response = http.responseText;
        document.getElementById('paymentdetails').innerHTML = response;
    }
}

function cart_address() {
    if(document.orderform.sameasbilling.checked==true){
	document.orderform.delivery1.value = document.orderform.billing1.value;
	document.orderform.delivery2.value = document.orderform.billing2.value;
	document.orderform.deliverysuburb.value = document.orderform.billingsuburb.value;
        document.orderform.deliverypostcode.value = document.orderform.billingpostcode.value;
        document.getElementById('deliverycountry').value = document.getElementById('billingcountry').value;
    }
    else {
        document.orderform.delivery1.value = '';
        document.orderform.delivery2.value = '';
        document.orderform.deliverysuburb.value = '';
        document.orderform.deliverypostcode.value = '';
        document.getElementById('deliverycountry').value = 'Australia';
    }
}

function perth_pickup() {
    if(document.orderform.pickup.checked==true){
        document.getElementById('billing_address_fields').style.visibility = 'hidden';
	document.getElementById('billing_address_fields').style.height = 0;
    }
    else {
	document.getElementById('billing_address_fields').style.visibility = 'visible';
        document.getElementById('billing_address_fields').style.height = 'auto';
    }
}

function determinePaymentOptions() {
    var paymentSel = document.getElementById('paymenttype');
    if(document.getElementById('billingcountry').value == 'New Zealand'){
	paymentSel.remove(paymentSel.length - 1);
        paymentSel.remove(paymentSel.length - 1);
 	changePaymentType();
    }
    else
    {
     if(paymentSel.length == 2){
        var newPaymentOption = document.createElement('option');
        newPaymentOption.text = '6 Months Interest Free (New Customer)';
        newPaymentOption.value = 'IF';
        var newPaymentOption2 = document.createElement('option');
        newPaymentOption2.text = '6 Months Interest Free (Existing Creditline or Go Mastercard Customer)';
        newPaymentOption2.value = 'GE';
        try{
          paymentSel.add(newPaymentOption, null);
          paymentSel.add(newPaymentOption2, null);
        }
        catch(ex){
          paymentSel.add(newPaymentOption);
          paymentSel.add(newPaymentOption2);
        }
     }
    }    
}

function changeCurrency(currencyCode) {
    var count = Math.floor(Math.random()*100000);
    var qstring = 'currencycode='+currencyCode+'\&count='+count;
    http.open('get', '/changecurrency.php?'+qstring);
    http.onreadystatechange = handleChangeCurrency;
    http.send(null);
}

function changeCurrency2() {
    var count = Math.floor(Math.random()*100000);
    var currencycode = document.getElementById('currencycode').value;
    var qstring = 'currencycode='+currencycode+'\&count='+count;
    http.open('get', '/changecurrencyfinal.php?'+qstring);
    http.onreadystatechange = handleChangeCurrency;
    http.send(null);
}

function handleChangeCurrency() {
    if(http.readyState == 4){
        var response = http.responseText;
        document.getElementById('currency').innerHTML = response;
    }
}

function getCodeVariable(variable) {
  var query = variable;
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == 'code') {
      return pair[1];
    }
  }
}


