


var reseller, website = {}, values = [], loadPage = 'load', currPage = false;

function Resellers(){
	this.rdiv = "#resellerlist";
}

reseller = new Resellers();

Resellers.prototype.search = function(){
	var state, seller, pcode, distance, purl, req;

	state    = $('#state').val();
	seller   = $('#resellers').val();
	pcode	 = $('#pcode').val();
	distance = $('#distance').val();

	if(state && seller){

		$(this.rdiv).html('<br />&nbsp;One moment please, fetching results...<br /><img alt="Loading" title="Loading" src="../images/loading.gif" /><br />');

		/* fetch resellers from AJAX script */
		purl = "reseller.php?function=showresellers&state="+state+"&resellers="+seller+"&pcode="+pcode+"&distance="+distance+"&sid="+Math.random();		

		$(this.rdiv).load( purl ); /* req = new Ajax.Updater(this.rdiv, purl, {method: 'get'}); */
		return true;

	}
	else {
		alert("Please make your selections before continuing..."); return false;
	}
}

website.emailChecked = false;
website.rsstate = false;
website.stateChecked = false;
function checkEmail(email) {

//	if(email === undefined) email = document.getElementById('cemeil').value;
	
	var purl, self = this, req;
	self.tested = false;
	this.result = false;

	function confirmEmail(val){
		self.result = val;
		this.result = val;
		website.emailChecked = val;
	}

	purl = "scripts/ajax.php?action=checkemail&email="+email+"&sid="+Math.random();
/*	req = new Ajax.Request( purl, { method: 'get', onSuccess: function(transport) { if(transport.responseText === "false") { alert("Invalid Email Address Entered!"); } else { confirmEmail(true); } } }); */ 

	$.ajax({ url: purl, success: function(transport) { if(transport === "false") { self.tested=true; alert("Invalid Email Address Entered!"); } else { self.tested=true; website.emailChecked=true; confirmEmail(true); } } });

	function return_res() {
		if(self.tested === true) {
			return website.emailChecked;
		}
		else
			setTimeout(function(){ return_res(); }, 100);
	}
	setTimeout(function(){ return_res(); }, 100);
}

function subscribeNewsletter() {
	var name, email, purl;

	name = $('#nlname').val();
	email = $('#nlemail').val();

	$('#sub_response').html('One moment please, submiting request...<br /><img alt="Loading" title="Loading" src="../images/loading.gif" />');

	if (website.emailChecked !== false) { // alert("web thingy = "+website.emailChecked);
		purl = "scripts/ajax.php?action=newssub&name="+name+"&email="+email+"&sid="+Math.random();
	} else {
	//	alert("failing!");
		return false;
	}

	purl = encodeURI(purl);
/*	req = new Ajax.Updater('newsletter', purl, { method: 'get' }); */

	$.ajax({ url: purl, success: function(html) { $("#sub_response").html(html); } });
}

function checkNewsSub() {
	var name, email, chk;
	name = $('#nlname').val();
	email = $('#nlemail').val();
// && website.emailChecked === false
	chk = checkEmail(email);
	setTimeout(function(){ if(chk === false) { alert("failed test! chk ="+ chk); return false; } if(name && email){  subscribeNewsletter(); } else { alert("Please complete both fields first..."); return false; }}, 1900);
}

function loadRandomImage(val){
	if(val){
		document.getElementById('orange_home').style.backgroundImage="url(../images/top_images/"+val+".jpg)";
	}
}

function stepRepairChip(chips, dir) {
	var num = undefined; // alert("current = "+chips['current']);

	if (dir === "back") { num = (chips['current'] - 1); } else { num = (chips['current'] + 1); }

//	alert("num = "+num);

	if (num <= 0) { num = 9; } else { if (num >= 10) { num = 1; } }
	if (num) {
		document.getElementById('remimg').src = 'images/howto/chip/0'+num+'.jpg';
		document.getElementById('steps').innerHTML = chips[num];
		document.getElementById('bandf').innerHTML = 'Step '+num+' of 9';
		chips['current'] = num;
	//	alert("chips = "+chips['current']);
	}
	else {
		alert("Invalid target item specified!");
	//	alert("num now is "+num);
	}
}

function stepRepairCrack(cracks, dir) {
	var num = undefined; // alert("current = "+chips['current']);

	if (dir === "back") { num = (cracks['current'] - 1); } else { num = (cracks['current'] + 1); }

	if (num <= 0) { num = 6; } else { if (num >= 7) { num = 1; } }

	if (num) {
		document.getElementById('remimg').src = 'images/howto/crack/0'+num+'.jpg';
		document.getElementById('steps').innerHTML = cracks[num];
		document.getElementById('bandf').innerHTML = 'Step '+num+' of 6';
		cracks['current'] = num;
	//	alert("chips = "+chips['current']);
	}
	else {
		alert("Invalid target item specified!");
	//	alert("num now is "+num);
	}
}

function countingText() {

	this.text = 0; this.arr = []; this.cnt = 500;
}

var countText = new countingText();

countingText.prototype.check = function(){
	if(this.cnt >= 1) { return true; } else { return false; }
}

countingText.prototype.count = function(id) {

	var chk = true;

	this.text = $('#'+id).val();
	this.arr = this.text.split(" ");
	this.cnt = (500-this.arr.length);

	chk = countText.check();
	if(chk === false) { document.getElementById('compmessage').disabled = 'disabled'; $('#wctrl').html('<a style="color: red;" title="Click to edit text field" href="#" onclick="countText.enable();">Re-Enable Text Editing</a>'); return; }

	document.getElementById('wcount').innerHTML = this.cnt;
}

countingText.prototype.enable = function() {
	document.getElementById('compmessage').disabled = false;
	$('#wctrl').html('');
}

countingText.prototype.submit = function(){

	var cname, cemail, cphone, cmessage, cnews, purl, echk;
	cname  = $('#compname').val();
	cemail = $('#compemail').val();

	echk = checkEmail(cemail);
	if(echk === false) {
		/* alert("returning false! echk = "+echk); */ return false;
	} else {
		cphone = $('#compphone').val();
		cmessage = $('#compmessage').val();
		cnews    = $('#subnews').attr('checked') === true ? "on" : false; // $('#subnews').val();

	//	alert($('#subnews').attr('checked'));	       
	//	alert(cnews);

		if (cmessage && cname && cemail) {

			purl = "scripts/ajax.php?action=competition";
			$.post( purl, { name: cname, email: cemail, phone: cphone, message: cmessage, newssub: cnews }, function(data) { $('#fancy_ajax').html(data); });
		}
		else
			return false;
	}
}

function contactCheck() {
	
	var email, name, phone, message, chk = false;

	email = $('#cemail').val();	
	name  = $('#cname').val();
//	phone = $('#cphone').val();
	message = $('#message').val();

	if(name && email && message) {
//		alert("its true!");
		return true;
	} else {
//		alert("its false!");
		return false;
	}
}

function validPostcode() {
	var state, postcode, purl, req, test, self=this;
	website.rsstate	= $('#state').val();
	postcode	= $('#pcode').val();
	self.test=0;

	purl = "scripts/ajax.php?action=checkpc";
	$.post( purl, { pcode: postcode }, function(data) { data = data.split(','); var data1 = data[0]; var data2 = data[1]; if(data1 == 'pcinvalid') { alert("Postcode is Invalid, please enter a valid Australian Postcode"); $('#pcode').addClass('fieldHasError'); $('#pcode').focus(); self.test=false; } else { if(website.rsstate == data2) { website.stateChecked=true; self.test=true; $('#pcode').removeClass('fieldHasError'); $('#state').removeClass('fieldHasError'); } else { alert("The entered Postcode does NOT match the selected State. Please correct the error before continuing. Thank you."); $('#pcode').addClass('fieldHasError'); $('#state').addClass('fieldHasError'); self.test=false; } } });

//	setTimeout(function() { alert("result = "+self.test); return self.test; }, 1500); // style.border="thin solid red"
	return website.stateChecked; // self.test;
}

function validState() {
/*	
	alert("checking state!");

	var state, postcode, purl, req, test, self=this;
	state 		= $('#state').val();
	postcode	= $('#pcode').val();
	self.test=false;

	purl = "scripts/ajax.php?action=checkstate";
	$.post( purl, { state: state, pcode: postcode }, function(data) { if(data == 'badstate') { alert("Postcode and State do NOT match. Please enter a correct postcode for the selected state"); $('#pcode').style.border="thin solid red"; self.test=false; } else { self.test=true; } });

//	alert("result = "+self.test); // alert("its true!");
	return self.test;
	*/

//	var codes = [];
//	codes['qld_h'] = ;
}

function resellerCheck() {

	var distance = undefined, pcode = undefined, test, aok;
	self = this;

	distance = $('#distance').val();
	pcode    = $('#pcode').val();

	if(pcode !== '') {

		self.test = validPostcode();
		if(self.test == false) {
			return false;
		} else {
	
			if (distance !== '0' && pcode !== '') {
		//		alert("all good - submitting!");
				$('#welcome').html('<strong>Please wait while your search request is processed. It may take a few seconds.<br /><img alt="Loading" title="Loading" src="../images/loading.gif" />');
				$('#resellersearch').submit();
			} else {
				if(distance !== '0') { // !== undefined && pcode === '') {
	
				       	alert('Please enter a valid postcode before proceeding. Thank you...');
					self.test = false;
					return false;

				} else if(pcode !== '' && distance == '0') {

					alert('Please select a distance value before proceeding. Thank you...');
					self.test = false;
					return false;

				} else {
		//			alert("submitting!");
					$('#resellersearch').submit();
				}
			}
		}

	} else {		

		if (distance !== '0' && pcode !== '') {

	//		alert("all good - submitting!");
			$('#welcome').html('<strong>Please wait while your search request is processed. It may take a few seconds.<br /><img alt="Loading" title="Loading" src="../images/loading.gif" />');
			$('#resellersearch').submit();
		} else {
			if(distance !== '0') { // !== undefined && pcode === '') {
	
			       	alert('Please enter a valid postcode before proceeding. Thank you...');
				self.test = false; return false;

			} else if(pcode !== '' && distance == '0') {

				alert('Please select a distance value before proceeding. Thank you...');
				self.test = false; return false;

			} else {
	//			alert("submitting!");
				$('#resellersearch').submit();
			}
		}
	}
	return self.test;
}

