function decimalizer (a) {	
	var a=a.toString();
	decimal = a.indexOf(".");
	if (decimal == -1) { 
		a+= ".00";
	} 
	else {
		if (decimal == (a.length - 2)) {
			a+= "0"; 
		}
	}
return a;
}

function switchbigimage(a) {
		var namediv='bigimage'+a;
		$('bigimage').innerHTML=$(namediv).innerHTML;
}

function morphcolor(a){
	if (a=='on') new Effect.Morph('totalweightcont', {style: 'background:#C6E5F1;', duration: 0.5});
	if (a=='off') new Effect.Morph('totalweightcont', {style: 'background:#fff;', duration: 0.5});
}

function highlightchange(a,b)  {
	if (b=='on') {
		new Effect.Morph(a, {style: 'background:#C6E5F1;', duration: 0.2});
	}
	if (b=='off') new Effect.Morph(a, {style: 'background:#fff;', duration: 0.5});
	//new Effect.Highlight('color', {startcolor: "#C6E5F1"});
}

function changecolor(a)  {
	if ($('color')!=undefined) $('color').innerHTML=a;
}

function changeclarity(a)  {
	if ($('clarity')!=undefined) $('clarity').innerHTML=a;
}

function changekarats(a)  {
	if ($('karats')!=undefined) $('karats').innerHTML=a;
}

function changetype(a)  {
	if ($('type')!=undefined) $('type').innerHTML=a;
}

function changetwgold(a)  {
	if ($('twgold')!=undefined) $('twgold').innerHTML=a;
}

function changewidth(a)  {
	if ($('width')!=undefined) $('width').innerHTML=a;
}

function changesize(a)  {
	if ($('size')!=undefined) $('size').innerHTML=a;
}

function changeinfo(a,b)  { //a is type, b is the value of the type
	$(a).innerHTML=b;
	highlightchange(a,'on');
	var c=$('prod_in').value;
    
    new Ajax.Request('http://www.londongold.ca/processdropdowns.php', {
		  method:'post',
		  parameters: {a:a,b:b,c:c},
		  requestHeaders: {Accept: 'application/json'},
		  onLoading: function() {loadstart();},
		  onFailure: function() {alertbox('This page has failed to load.');},
		  onSuccess: function(transport){
			    var jsondd = transport.responseText.evalJSON(true);
			    if (jsondd.totalweight_center[0]!='0.00') priceslider.setValue(jsondd.totalweight_center[0]);
			    
			    $('price').innerHTML="$"+parseFloat(jsondd.price);
			    if ($('minrange')!=undefined) $('minrange').innerHTML=jsondd.totalweight_center[0];
			    if ($('maxrange')!=undefined) $('maxrange').innerHTML=jsondd.maxtw;
			    //alert('start of drop down changing');
			    //if (jsondd.clarity[1]==undefined) {
				    for (var i = 0; i < $('clarity_in').length; ++i) {
					  if ($('clarity_in')[i].value == jsondd.clarity[0]) $('clarity_in').selectedIndex = i;
				    }
				    changeclarity(jsondd.clarity[0]);
			    //}
			    //alert('passed clarity');
			    //if (jsondd.color[1]==undefined) {
				    for (var i = 0; i < $('color_in').length; ++i) {
					  if ($('color_in')[i].value == jsondd.color[0]) $('color_in').selectedIndex = i;
				    }
				    changecolor(jsondd.color[0]);
			    //}
			    //alert('passed color');
			    //if (jsondd.karats[1]==undefined) {
				    for (var i = 0; i < $('karats_in').length; ++i) {
					  if ($('karats_in')[i].value == jsondd.karats[0]) $('karats_in').selectedIndex = i;
				    }
				    changekarats(jsondd.karats[0]);
			    //}
			    //alert('passed karats');
			    //if (jsondd.karats_type[1]==undefined) {
				    for (var i = 0; i < $('type_in').length; ++i) {
					  if ($('type_in')[i].value == jsondd.karats_type[0]) $('type_in').selectedIndex = i;
				    }
				    changetype(jsondd.karats_type[0]);
			    //}
			    //alert('passed karatstype');
			    //if (jsondd.size[1]==undefined) {
				    for (var i = 0; i < $('size_in').length; ++i) {
					  if ($('size_in')[i].value == jsondd.size[0]) $('size_in').selectedIndex = i;
				    }
				    changesize(jsondd.size[0]);
			    //}
			    //alert('passed size');
			    //if (jsondd.widthof[1]==undefined) {
				    for (var i = 0; i < $('width_in').length; ++i) {
					  if ($('width_in')[i].value == jsondd.widthof[0]) $('width_in').selectedIndex = i;
				    }
				    changewidth(jsondd.widthof[0]);
			    //}
			    //alert('passed width');
			    //if (jsondd.totalweight_gold[1]==undefined) {
				    for (var i = 0; i < $('twgold_in').length; ++i) {
					  if ($('twgold_in')[i].value == jsondd.totalweight_gold[0]) $('twgold_in').selectedIndex = i;
				    }
				    changetwgold(jsondd.totalweight_gold[0]);
			    //}
			    //alert('passed twgold');
			    
			    if (jsondd.totalweight_center[0]!=jsondd.maxtw) {
				    if ($('sliderbox').style.display=='none') $('sliderbox').show();	    
				    slidervals='conversion = 1;';
					slidervals+='min = '+jsondd.totalweight_center[0]+';';
					slidervals+='max = '+jsondd.maxtw+';';
					slidervals+='sides = '+jsondd.totalweight_sides+';';
					slidervals+='tw_values = new Array();';
						for (var i = 0; i < jsondd.numoftws; ++i) {
							slidervals+='tw_values['+i+']='+jsondd.totalweight_center[i]+';';
						}
					slidervals+="priceslider = new Control.Slider('tw_handle', 'tw_slider', {range: $R(min,max),sliderValue: min,alignX: 1,values: tw_values,";
					slidervals+="onSlide: function(v){v=decimalizer(v);$('totalweight').innerHTML=v;";
					slidervals+="if (sides) {v=parseFloat(v);var twall=Math.round((v+sides)*100)/100;twall=decimalizer(twall);$('totalweightall').innerHTML=twall;}";
					slidervals+="},";
					slidervals+="onChange: function(v){v=decimalizer(v);$('totalweight').innerHTML=v;";
					slidervals+="if (sides) {v=parseFloat(v);var twall=Math.round((v+sides)*100)/100;twall=decimalizer(twall);$('totalweightall').innerHTML=twall;}";
					slidervals+="new Effect.Morph('totalweightcont', {style: 'background:#fff;', duration: 0.5});";
					slidervals+="var a=$('prod_in').value;var b=$('karats_in').value;var c=$('type_in').value;var d=$('color_in').value;var e=$('clarity_in').value;var g=$('twgold_in').value;var h=$('size_in').value;var i=$('width_in').value;";
					slidervals+="new Ajax.Request('http://www.londongold.ca/processchanges.php', {method:'post',parameters: {a:a,b:b,c:c,d:d,e:e,f:v,g:g,h:h,i:i},requestHeaders: {Accept: 'application/json'},onLoading: function() {loadstart();},onFailure: function() {errorbox('This page has failed to load.');},onSuccess: function(transport){";
					slidervals+="var json = transport.responseText.evalJSON(true);$('price').innerHTML='$'+parseFloat(json.price);},onComplete: function() { loadend(); }});";
					slidervals+="}});";
					
					execit(slidervals);
				}
				else {
					$('sliderbox').hide();
				}
		  },
		  onComplete: function() { loadend(); highlightchange(a,'off');}
		});
	
}

function loadstart(e) {
		$('content').setOpacity(0.5);
		$('loading').show();
}

function loadend(e) {
		$('loading').hide();
		$('content').setOpacity(1.0);
}


function alertbox(a) {
	Element.toggle('alertdiv');
	$('content').setOpacity(0.5);
	document.getElementById('alertcontents').innerHTML=a;
	return false;	
}

function loginbox(a) {
	Element.toggle('logindiv');
	$('content').setOpacity(0.5);
	return false;	
}

function login(p) {
	var a = document.getElementById('log_email').value;
	var b = document.getElementById('log_pass').value;
	if ((a=='') || (b==''))  document.getElementById('loginmessage').innerHTML="<span style='color:red'>Please fill out both your email and password before logging in.</span><br/>";
    else {
	    new Ajax.Request('http://www.londongold.ca/login.php', {
		  method:'post',
		  parameters: {a:a,b:b},
		  requestHeaders: {Accept: 'application/json'},
		  onLoading: function() {loadstart();},
		  onFailure: function() {document.getElementById('loginmessage').innerHTML='You have failed to login, please try again.';},
		  onSuccess: function(transport){
		    var jsonlogin = transport.responseText.evalJSON(true);
		    if (jsonlogin.value=='true') {
		      	new Ajax.Updater('setsession','http://www.londongold.ca/login.php', {method: 'post', parameters: {a:jsonlogin.id,b:b},
		      	onSuccess: function(){
			      	document.getElementById('accountpage').innerHTML="<a href='http://www.londongold.ca/myaccount.php'>My Account</a>";
				    loadend();
				    Element.toggle('logindiv');
				    document.getElementById('loginmessage').innerHTML="";
				    document.getElementById('logincontents').innerHTML="You are already logged in.<br/><br/><img onclick=\"loadend();Element.toggle('logindiv');\" alt='Ok' src='images/ok.png'/>";
				    if (($('addlist')!=undefined) && (p!=undefined)){
					    $('addlist').innerHTML="<a href='http://www.londongold.ca/cartadd.php?i="+p+"'>Add to Shopping List</a>";
					    alertbox('You are now logged in, click on Add to Shopping List to add this item to your cart.');
				    }
		      	},
		      	onFailure: function() {document.getElementById('loginmessage').innerHTML='You have failed to login, please try again.';}
		      	});
			}
		    else document.getElementById('loginmessage').innerHTML="<span style='color:red'>Your email address or password is incorrect. Please try again.</span><br/>";
		  },
		  onComplete: function() { loadend();}
		});	
	}	
}


function grabsubcatsforprods() {
	var a = document.getElementById('category').value;
   	if (a!='') {
	    new Ajax.Request('http://www.londongold.ca/grabsubcats.php', {
		  method:'post',
		  parameters: {a:a},
		  requestHeaders: {Accept: 'application/json'},
		 	onSuccess: function(transport){
			 	document.getElementById('catseld').innerHTML='';
		    	var jsoncats = transport.responseText.evalJSON(true)+'';
		    	var subcats=jsoncats.split(",");
		    	subcats.each(function(s, index) {
			    	if (s!='') {
				    	document.getElementById('catseld').innerHTML=document.getElementById('catseld').innerHTML+"<input type='checkbox' name='tags[]' value='"+s+"'/>"+s;
			    	}
				});
			    Element.hide('selcat');
			}
		});	
	}
	else {
		Element.show('selcat');
	}	
}

function showmodifyinfo() {
	$('namea').toggle();
	$('nameb').toggle();	
	if (($('passworda').style.display=='none') && ($('passwordb').style.display=='none')) {
		$('passwordmodify').hide();
		$('passworda').show();
		$('passwordb').hide();
	}
	else {
		$('passworda').toggle();
		$('passwordb').toggle();
	}
	$('emaila').toggle();
	$('emailb').toggle();
	$('savea').toggle();
	$('saveb').toggle();
}

function showmodifybilling() {
	$$('.bview').invoke('toggle');	
	$$('.bedit').invoke('toggle');	
}

function showmodifyshipping() {
	$$('.sview').invoke('toggle');	
	$$('.sedit').invoke('toggle');	
}

function showpassword() {
	$('passworda').hide();
	$('passwordb').hide();
	$('passwordmodify').show();
	if ($('nameb').style.display=='none') {
		$('savepassword').toggle();
		$('savea').hide();
		$('saveb').hide();
	}
}

function hidepassword() {
	$('passworda').show();
	$('passwordb').hide();
	$('passwordmodify').hide();
	$('savepassword').hide();
	$('savea').show();
	$('saveb').hide();
	$('passwordin').value='';
}

function addbilling() {
	$('billinga').toggle();
	$('billingb').toggle();	
	if ($('billingupdate')!=undefined) $('billingupdate').toggle();
}

function addshipping() {
	$('shippinga').toggle();
	$('shippingb').toggle();
	if ($('shippingupdate')!=undefined) $('shippingupdate').toggle();	
}

function shipbillsame() {
	var form = $('billingupdate');
	var formb = $('shippingnew');	
	$(formb['newsnominalin']).value=$(form['bnominalin']).getValue();
	$(formb['newsfirstin']).value=$(form['bfirstin']).getValue();
	$(formb['newslastin']).value=$(form['blastin']).getValue();
	$(formb['newsaddressin']).value=$(form['baddressin']).getValue();
	$(formb['newsaddress2in']).value=$(form['baddress2in']).getValue();
	$(formb['newscityin']).value=$(form['bcityin']).getValue();
	$(formb['newsprovincein']).value=$(form['bprovincein']).getValue();
	$(formb['newspostalin']).value=$(form['bpostalin']).getValue();
	$(formb['newscountryin']).value=$(form['bcountryin']).getValue();
}

function shipbillsameedit() {
	var form = $('billingupdate');
	var formb = $('shippingupdate');	
	$(formb['snominalin']).value=$(form['bnominalin']).getValue();
	$(formb['sfirstin']).value=$(form['bfirstin']).getValue();
	$(formb['slastin']).value=$(form['blastin']).getValue();
	$(formb['saddressin']).value=$(form['baddressin']).getValue();
	$(formb['saddress2in']).value=$(form['baddress2in']).getValue();
	$(formb['scityin']).value=$(form['bcityin']).getValue();
	$(formb['sprovincein']).value=$(form['bprovincein']).getValue();
	$(formb['spostalin']).value=$(form['bpostalin']).getValue();
	$(formb['scountryin']).value=$(form['bcountryin']).getValue();
}