// JavaScript Document

function womOn(){
  window.onload = womGo;
}

function womGo(){
  for(var i = 0;i < woms.length;i++)
    eval(woms[i]);
}

function womAdd(func){
  woms[woms.length] = func;
}

var woms = new Array();

function doRating(ratingObj, newRating) { 

	var ratingObj = document.getElementById(ratingObj);
	var position = "";
	
	switch(newRating) {
		case 0:
			position = "0 -75px";
			break;
		case 1:
			position = "0 -60px";
			break;
		case 2:
			position = "0 -45px";
			break;
		case 3:
			position = "0 -30px";
			break;
		case 4:
			position = "0 -15px";
			break;
		case 5:
			position = "0 0";
			break;
	}
	
	ratingObj.style.backgroundPosition = position;
	return true;

}

function video() {

	if($('.video').length == 0) return false;
	
	var videos = $('.video p a');

	videos.each(function() {
	
		var href = $(this).attr('href');
		var bits = href.split('&');
		var video_id = bits[bits.length-1];
		
		$(this).attr('href', 'video.php?' + video_id + '&width=560&height=340');
		
	
	});

}

function faqJumpTo (faqid) { 

	$('#faq-'+faqid).ScrollTo(750); 
	$('#faq-'+faqid).Highlight(3200, '#FFFBCF');
	
}

function CreateBookmarkLink() {

	title = document.title;
	url = window.location.href;
	
	if (window.sidebar) { 
		window.sidebar.addPanel(title, url,"");
	} else if(window.external) {
		window.external.AddFavorite( url, title); 
	} else if(window.opera && window.print) {
		return true;
	}
	
}

function objToggle(obj) { 

	var obj = document.getElementById(obj);

	if(obj.style.display == "block") { 
		obj.style.display = "none";
	} else { 
		obj.style.display = "block";
	}

}


function validate(formobj, formtype){
		
	switch(formtype) { 
		case "contact":
			var fieldRequired = Array("enq_name", "enq_email", "enq_telephone", "enq_referral", "enq_comments");
			break;
		case "register":
			var fieldRequired = Array("account_username", "account_password", "account_confirm_password", "account_fullname", "account_email", "account_company", "account_outlet");
			break;
		case "checkout":
			var fieldRequired = Array("order_del_name", "order_del_addr1", "order_del_postcode", "order_del_tel", "order_bil_name", "order_bil_addr1", "order_bil_postcode", "order_bil_tel", "order_bil_email");
			break;
	}
	
	var error = false;
	
	var normalClass = "textfield";
	var invalidClass = "textfield_invalid";
	
	for (var i = 0; i < fieldRequired.length; i++){
		var obj = formobj.elements[fieldRequired[i]];
		if(obj) {
			obj.className = normalClass;
		}
	}
	
	for (var i = 0; i < fieldRequired.length; i++){
		var obj = formobj.elements[fieldRequired[i]];
		if (obj){
			switch(obj.type){
				case "select-one":
				if (obj.selectedIndex == 0 || obj.options[obj.selectedIndex].text == ""){
					obj.className = invalidClass;
					error = true;
				}
				break;
				case "select-multiple":
					if (obj.selectedIndex == -1){
					obj.className = invalidClass;
					error = true;
				}
				break;
				case "text":
				case "textarea":
				if (obj.value == "" || obj.value == null){
					obj.className = invalidClass;
					error = true;
				}
				break;
				default:
			}
		}
	}
	
	if (!error){
		
		return true;
		
	} else {
		
		alert("Some fields were not filled in. Please complete the highlighted fields.");
		return false;
		
	}
}



function get_selection(ta)
  { var bits = [ta.value,'','','']; 
    if(document.selection)
      { var vs = '#$%^%$#';
        var tr=document.selection.createRange()
        if(tr.parentElement()!=ta) return null;
        bits[2] = tr.text;
        tr.text = vs;
        fb = ta.value.split(vs);
        tr.moveStart('character',-vs.length);
        tr.text = bits[2];
        bits[1] = fb[0];
        bits[3] = fb[1];
      }
    else
      { if(ta.selectionStart == ta.selectionEnd) return null;
        bits=(new RegExp('([\x00-\xff]{'+ta.selectionStart+'})([\x00-\xff]{'+(ta.selectionEnd - ta.selectionStart)+'})([\x00-\xff]*)')).exec(ta.value);
      }
     return bits;
  }

function matchPTags(str)
  { str = ' ' + str + ' ';
    ot = str.split(/\[[B|U|I].*?\]/i);
    ct = str.split(/\[\/[B|U|I].*?\]/i);
    return ot.length==ct.length;
  }

function addPTag(ta,pTag)
  { bits = get_selection(ta);
    if(bits)
      { if(!matchPTags(bits[2]))
          { alert('\t\tInvalid Selection\nSelection contains unmatched opening or closing tags.');
            return;
          }
        ta.value = bits[1] + '[' + pTag + ']' + bits[2] + '[/' + pTag + ']' + bits[3];
      }
  }
  
  
  
$(document).ready(function(){
						   
	video();
	
	$("#checkAvailable").click(function() { 
		
		var defaultval = $("#checkAvailable").val();
		
		$("#checkAvailable").val("Checking...");
		$("#checkAvailable").attr("disabled", "disabled");
		
		var email = $("input[name='user_email']");
		$.ajax({
			type: "GET",
			url: "libs/includes/ajax.php",
			data: "action=checkAvailable&email="+email.val(),
			success: function(response){
				
				// If "1", then email is available.
				if(response == 1) { 
				
					$("input[name='user_email']").css("background", "#CFFFD1");
					alert("This email address is available!");
				
				} else {
					
					$("input[name='user_email']").css("background", "#FFBFBF");
					alert("This email address has been registered or is not available!");
					
				}
				
				$("#checkAvailable").val(defaultval);
				$("#checkAvailable").attr("disabled", "");
				
			}
		});
	});
	
	$("input[name='user_pass']").keyup(function() {
		var stringpass = $("input[name='user_pass']").val();
		
		var hasnum = false
		
		for( var counter = 0; counter < stringpass.length; counter ++ ) {
			if( !isNaN( stringpass.charAt( counter ) ) ) {
				hasnum = true
			}
		}
		
		if(stringpass.length <= 4) {
			
			$("#ph").html("<strong>Password Strength:</strong> Weak");
			$("#ph").css("color", "red");
			
		} else if(stringpass.length <= 6) {
			
			$("#ph").html("<strong>Password Strength:</strong> Fair");
			$("#ph").css("color", "orange");
			
		} else if(stringpass.length > 6) {

			if(hasnum) {
				
				$("#ph").html("<strong>Password Strength:</strong> Strong!");
				$("#ph").css("color", "green");
			
			} else {
				
				$("#ph").html("<strong>Password Strength:</strong> Fair");
				$("#ph").css("color", "orange");
				
			}
			
		}
		
	});
	
});