// Function for validating form errors
function validateSubscribe(){
	
	document.getElementById('form_success').style.display='none';
	document.getElementById('form_errors').style.display='none';
	
	//init an error message
	err = '';
	err_count = 0;
	
	var full_name = document.getElementById('name').value;
	var email_addr = document.getElementById('email').value;
	
	if(!isAlpha(full_name) || full_name == 'Full Name'){
		err_count++;
		err += 'Your Full Name Is Required.<br />';
	}
	
	if(!isEmail(email_addr)){
		err_count++;
		err += 'E-mail Address Is Required.<br />';
	}
		
	if(err_count > 0){
		document.getElementById('form_errors').innerHTML = err;
		document.getElementById('form_errors').style.display='block';
		document.getElementById('form_success').style.display='none';

		return false;
	
	}else{
		
		//need to make an ajax request
		var url = 'subscribe_helper.php';
		var pars = 'email='+email_addr+'&fullname='+full_name;
		var target = 'form_success';
		var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters:pars});
		document.getElementById('form_errors').style.display='none';
		document.getElementById('form_success').style.display='block';
		
		return true;
	}
}


// Function for validating form errors
function validateContact(){
	//init an error message
	err = 'The following fields have errors:<br />';
	err_count = 0;
	
	var full_name = document.contact_form.fullname.value;
	var email_addr = document.contact_form.emailaddr.value;
	
	if(!isAlpha(full_name)){
		err_count++;
		err += 'Your Full Name Is Required.<br />';
	}
	
	if(!isEmail(email_addr)){
		err_count++;
		err += 'A Valid E-mail Address Is Required.<br />';
	}
		
	if(err_count > 0){
		document.getElementById('form_notes').className = 'errors';
		document.getElementById('form_notes').innerHTML = err;
		return false;
	}else{
		return true;
	}
}


function isEmail(str){
	if(str == '') return false;
	var re = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i
	return re.test(str);
	}
	
	function isText(str){
		if(str == '') return false;
		return true;
	}

// returns true if the string only contains characters A-Z or a-z
	function isAlpha(str){
		var re = /[^a-zA-Z]/g
		if (re.test(str)) return true;
		return false;
	}
	
	// returns true if the string only contains characters A-Z or a-z or 0-9
	function isAlphaNumeric(str){
		var re = /[^a-zA-Z0-9]/g
		if (re.test(str)) return false;
		return true;
	}



//function for admin area
function approve(colname,colval,table,elem,id){
	var url = 'approvehandler.php';
	var pars = 'colname='+colname+'&colval='+colval+'&table='+table+'&id='+id;
	var target = elem;
	var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters:pars});
}

function approveAd(colval,elem,id){
	var url = 'adshandler.php';
	var pars = 'colval='+colval+'&id='+id;
	var target = elem;
	var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters:pars});
}


function deleteAd(elem,id){
	var url = 'adsdeleter.php';
	var pars = '?id='+id;
	var target = elem;
	var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters:pars});
}

function showTab(tab){
	
	var tabs = new Array('a_d','e_l','m_z');
	var navs = new Array('A_D','E_L','M_Z');
	
	for(i=0;i<navs.length;i++){
		document.getElementById(navs[i]).className = '';
	}
	
	document.getElementById(navs[tab]).className = 'act_nav';
	
	for(i=0;i<tabs.length;i++){
		document.getElementById(tabs[i]).style.display = 'none';
	}
	
	document.getElementById(tabs[tab]).style.display = 'block';
	
	
}

function login(){
	//replace login with ajax template
	var url = 'ajax.loginform.php';
	var pars = 'fresh=true';
	var target = document.getElementById('login');
	var myAjax = new Ajax.Updater(target, url,{method: 'post', parameters:pars});
}

//functions for login box
function loginPost(){
	
	var user = document.getElementById('user').value;
	var pwd = document.getElementById('pwd').value;
	var ref = document.getElementById('ref').value;
	
	var url = 'ajax.loginform.php';
	var pars = 'user='+user+'&pwd='+pwd+'&ref='+ref+'&fresh=false';
	var target = document.getElementById('login');
	var myAjax = new Ajax.Updater(target, url,{method: 'post', parameters:pars});
}

function signUp(){
	//replace login with ajax template
	var url = 'ajax.register.php';
	var target = document.getElementById('login');
	var myAjax = new Ajax.Updater(target, url,{method: 'post'});
}

function signUpPost(){
	var user = document.getElementById('emailaddress').value;
	var fname = document.getElementById('fullname').value;
		
	var url = 'ajax.success.php';
	var pars = 'email='+user+'&fullname='+fname;
	var target = document.getElementById('login');
	var myAjax = new Ajax.Updater(target, url,{method: 'post', parameters:pars});
}

//functions for marketing library
function toggleMktTabs(actTab){
	if(actTab == 'db_date_tab'){
		var at = document.getElementById('db_date_tab');
		var ac = document.getElementById('db_date');
		var it = document.getElementById('db_carrier_tab');
		var ic = document.getElementById('db_carrier');
	}else{
		var it = document.getElementById('db_date_tab');
		var ic = document.getElementById('db_date');
		var at = document.getElementById('db_carrier_tab');
		var ac = document.getElementById('db_carrier');
	}
	
	at.className = 'act';
	it.className = '';
	ac.style.display ='block';
	ic.style.display = 'none';

}

//star ratings

timer = null;

function hidepreview(uid){
	timer = setTimeout("showrate("+uid+")",100);
}

function previewrate(rating,uid){
	if(timer) clearTimeout(timer);
	
	for(var i=1; i<=5; i++){
		var elem = $('star'+i);
		if(rating >= i){
			elem.setAttribute('src',value='im/mkt/stars_full.gif');
		}else{
			elem.setAttribute('src',value='im/mkt/stars_empty.gif');
		}
		
	}
	
	var elemA = $('starrating');
	elemA.innerHTML = rating+'/5';
}


function showrate(uid){
		
		var url = 'ajax.showrating.php';
		var pars = 'id='+uid;
		
		new Ajax.Request(url, {
		  method: 'post', parameters:pars,
		  onSuccess: function(transport) {
			
			var elemA = $('starrating');
			elemA.innerHTML = transport.responseText+'/5';
			
			for(var i=1; i<=5; i++){
				var elem = $('star'+i);
				if(transport.responseText >= i){
					elem.setAttribute('src',value='im/mkt/stars_full.gif');
				}else if(transport.responseText == i - 0.5){
					elem.setAttribute('src',value='im/mkt/stars_half.gif');
				}else{
					elem.setAttribute('src',value='im/mkt/stars_empty.gif');
				}

			}
		  }
		});
		
}

function postrate(rating,uid){

	var url = 'ajax.rating.php';
	var pars = 'id='+uid+'&rating='+rating;
	
	new Ajax.Request(url, {
	  method: 'post', parameters:pars,
	  onSuccess: function(transport) {
		
		//alert(transport.responseText);
		
		var elemA = $('starrating');
		elemA.innerHTML = transport.responseText+'/5';
		
		for(var i=1; i<=5; i++){
			var elem = $('star'+i);
			if(transport.responseText >= i){
				elem.setAttribute('src',value='im/mkt/stars_full.gif');
			}else if(transport.responseText == i - 0.5){
				elem.setAttribute('src',value='im/mkt/stars_half.gif');
			}else{
				elem.setAttribute('src',value='im/mkt/stars_empty.gif');
			}

		}
	  }
	});
}


// functions for marketing comments

function toggleComment(){
	if($('commentformholder').style.display == 'none'){
		Effect.SlideDown('commentformholder', { duration: 0.2 });
	}else{
		Effect.SlideUp('commentformholder', { duration: 0.2 });
	}
	
}

function commentCharCounter(len, elem){
	var remaining = 140 - len;
	if(remaining < 0 ){
		elem.value = elem.value.substring(0,140);
		remaining = 0;
	}
	$('charcounter').innerHTML = remaining +' remaining';
}

function postComment(){
	
	var url = 'ajax.comment.php';
	
	var item_id = document.commentform.item_id.value;
	var user_id = document.commentform.user_id.value;
	var first_name = document.commentform.first_name.value;
	var comment = document.commentform.comment.value;
	
	if(first_name == 'First Name' || comment == 'Comment (140 Chars Max)'){
		$('comment_feedback').innerHTML = 'Please complete both fields and try again.';
		return false;
	}
	
	
	var pars = 'user_id='+user_id+'&item_id='+item_id+'&first_name='+first_name+'&comment='+comment;
	
	new Ajax.Request(url, {
	  method: 'post', parameters:pars,
	  onSuccess: function(transport) {
			if(transport.responseText == 1){ var res = 'Thank you.<br />Your comment has been submitted.'; }else{ var res = 'Sorry. Your comment was not received, please try again.'; }
		$('comment_feedback').innerHTML = res;
	  }
	});
	
	
	return false;
}

