$(document).ready(function() {

	$(".blend a").blend();
		$('.gallery a').lightBox({
		overlayBgColor:'#666',
		overlayOpacity: 0.7
	});

});


var isIE=/*@cc_on!@*/false;//IE detector
var elStyle=isIE?'cssText':'style'; 	
var IE6 = false /*@cc_on || @_jscript_version <= 5.7 @*/;  

//Reusable functions ----------------------------------------------------------------------------------------------------------------------
function grabFile(file, idToUpdate, transition) {
  var request = getHTTPObject();
  if (request) {
    request.onreadystatechange = function() {
		if (transition == 'fade'){ parseResponse(request, idToUpdate, transition); }
		else { parseResponse(request, idToUpdate); }
	}
    request.open("GET", file, true);
    request.send(null);
    return true;
  } else {
    return false;
  } 
}


function parseResponse(request, idToUpdate, transition) {
  if (request.readyState == 4) {
    if (request.status == 200 || request.status == 304) {
      var details = document.getElementById(idToUpdate);
	  if (transition == 'fade'){
		  fade(idToUpdate, -2);
	  }
      details.innerHTML = request.responseText;
    }
  }
}


 
/* GETHTTP OBJECT  ---------------------------------------------------------------------------------------------------------------------------------------------------------------- */

function getHTTPObject() {
  var xhr = false;
  if (window.XMLHttpRequest) {
    xhr = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    try {
      xhr = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
      } catch(e) {
        xhr = false;
      }
    }
  }
  return xhr;
}
 
	var tile_types = new Array(1);
	tile_types[0] = new Array(0.3, 'Plain Mats');
	tile_types[1] = new Array(0.3, 'Letter Mats');
	tile_types[2] = new Array(0.5, 'Grass Mats');
	tile_types[3] = new Array(1.0, 'Tumble Mats');
      

function updateTileTotal() {
		var myform = document.tile_calc;
		var tile_size = tile_types[myform.tile_type.options[myform.tile_type.selectedIndex].value][0];
		var length = myform.length.value;
		var width = myform.width.value;
		if(IsNumeric(length) && IsNumeric(width)) {
		  var area = Math.round(width * length * 100) / 100;
		  var numTilesWidth = Math.ceil(width / tile_size);
		  var numTilesLength = Math.ceil(length / tile_size);
		  area = Math.round(numTilesWidth * numTilesLength * tile_size * tile_size * 100) / 100;

		  var tiles_count = numTilesWidth * numTilesLength;
		  myform.result.value = tiles_count;
		}
	}
 
 function IsNumeric(sText){
		var ValidChars = "0123456789.";
		var IsNumber=true;
		var Char;

		for (i = 0; i < sText.length && IsNumber == true; i++) { 
			Char = sText.charAt(i); 
			if (ValidChars.indexOf(Char) == -1) {
				IsNumber = false;
			}
		}
		return IsNumber;
	}

function FeetMetres(formName, toConvert){
	var fmConvert = 0.3048;
	var mfConvert = 3.2808399;
	
	if (toConvert == 'f'){
		var feet = formName.elements["feet"].value;
		var metres = formName.elements["metres"];
		metres.value = feet * fmConvert;
	}
	
	else if (toConvert == 'm'){
		var metres = formName.elements["metres"].value;
		var feet = formName.elements["feet"];
		feet.value = metres * mfConvert;
	}
}

function rzCC(s){
   for(var exp=/-([a-z])/; 
       exp.test(s); 
       s=s.replace(exp,RegExp.$1.toUpperCase()));
   return s;
 }

 function _setStyle(element, declaration) {
   if (declaration.charAt(declaration.length-1)==';')
     declaration = declaration.slice(0, -1);
   var k, v;
   var splitted = declaration.split(';');
   for (var i=0, len=splitted.length; i<len; i++) {
      k = rzCC(splitted[i].split(':')[0]);
      v = splitted[i].split(':')[1];
      eval("element.style."+k+"='"+v+"'");

   }
 }
 
 
function NumbersOnly(theField, j, decp){
	var key;
	var keychar;

	if (window.event)
	   key = window.event.keyCode;
	else if (j)
	   key = j.which;
	else
	   return true;
	keychar = String.fromCharCode(key);

	// control keys
	if ((key==null) || (key==0) || (key==8) || 
		(key==9) || (key==13) || (key==27) )
	   return true;
	
	// numbers
	else if ((("0123456789.").indexOf(keychar) > -1))
	   return true;
	
	// decimal point jump
	else if (decp && (keychar == "."))
	   {
	   theField.form.elements[decp].focus();
	   return false;
   }
else
   return false;
}


function ChangeMainImage(src){
	var main_image = document.getElementById('main_product_img');
	main_image.setAttribute('src', src);
}

function ImageBorderChange(icon_id){
	var img_id = document.getElementById(icon_id);
	if (isIE){   
		if (img_id){ img_id.style.cssText = "border: 1px solid #666;" }
		} else {
		if (img_id){ _setStyle(img_id, "border: 1px solid #666;"); }
	}
}

function ImageBorderDefault(icon_id){
	var img_id = document.getElementById(icon_id);
	if (isIE){   
		if (img_id){ img_id.style.cssText = "border: 1px solid #CCC;" }
		} else {
		if (img_id){ _setStyle(img_id, "border: 1px solid #CCC;"); }
	}
}

function PhoneNumberSymbolsOnly(theField, j, decp){
	var key;
	var keychar;
	if (window.event)
	   key = window.event.keyCode;
	else if (j)
	   key = j.which;
	else
	   return true;
	keychar = String.fromCharCode(key);
	if ((key==null) || (key==0) || (key==8) || 
		(key==9) || (key==13) || (key==27) )
	   return true;
	else if ((("0123456789()+").indexOf(keychar) > -1))
	   return true;
	else if (decp && (keychar == "."))
	   {
	   theField.form.elements[decp].focus();
	   return false;
   }
else
   return false;
}


/* Image Preload */
function PreloadImageChange(imgName, imgChange){
   if (document.images){
	   document[imgChange].src= imgName.src;
    }
 }

 function HighlightLink( link_id, pName ){
	 var linkID = document.getElementById(link_id);
	 linkID.innerHTML ='<div class="product_link_dummy">' + pName + '</div>';
 }
 
 function HighlightLinkNorm( link_id, pName, pID ){
	  var linkID = document.getElementById(link_id);
	  if (pID != 7){
	  linkID.innerHTML ='<a href="product.php?product_id=' + pID + '">' + pName + '</a>';
	  } else {
	  linkID.innerHTML ='<a href="create_your_own.php">' + pName + '</a>';
	  }
 }
 
 function CartHighlightRow(rowID, row2ID){
	var row_id = document.getElementById(rowID);
	var row_id2 = document.getElementById(row2ID);
		
	if (isIE){ 
		if (!IE6){  
			 if (row_id){ row_id.style.cssText = "background: #efefef"; }
			 if (row_id2){ row_id2.style.cssText = "background: #efefef"; }
			}
		} else {
			
		 if (row_id){ _setStyle(row_id, "background: #efefef"); }
		 if (row_id2){ _setStyle(row_id2, "background: #efefef"); }
	}	
}

function CartDefaultRow(rowID, row2ID){
	var bgcolor = 'FFFFFF';
	
	var row_id = document.getElementById(rowID);
	var row_id2 = document.getElementById(row2ID);
	var rowStyle = 'background: #' + bgcolor;
	
	if (isIE){
		if (!IE6){
			 if (row_id){ row_id.style.cssText = rowStyle; }
			 if (row_id2){ row_id2.style.cssText = rowStyle; }
			}
		} else {
		 if (row_id){ _setStyle(row_id, rowStyle); }
		 if (row_id2){ _setStyle(row_id2, rowStyle); }
	}	
}

function TileColorChange(cValue){
	var formColor = document.getElementById('color_name');
	
	formColor.innerHTML = cValue;
	
}

function DisableLinksIE6(){
	
	alert ('will disable links');
	
}



function HighlightCatLink( link_id, pName ){
	 var linkID = document.getElementById(link_id);
	 linkID.innerHTML = '<a href="#" style="color: #F90; text-decoration: underline;">' + pName;
 }
 
 function HighlightCatLinkNorm( link_id, pName, p_link){
	  var linkID = document.getElementById(link_id);
	  linkID.innerHTML ='<a href="' + p_link + '">' + pName + '</a>';
 }
 
 function decision(message, myform){
	 var answer = confirm(message);
	  if(answer){ 
		document.myform.submit(); 
	  }
}


//for table rows
function HighlightRow(rowID){
	
	var row_id = document.getElementById(rowID);
	
	if (isIE){   
		if (row_id){ row_id.style.cssText = "background: #d1ffd0;" }
		} else {
		if (row_id){ _setStyle(row_id, "background: #d1ffd0;"); }
	}	
}

function DefaultRow(rowID, rowClass){

	var bgcolor;
	if (rowClass == 'row1'){ bgcolor = 'FFFFFF'; } else { bgcolor = 'F3F3F3'; }
	
	var row_id = document.getElementById(rowID);
	var rowStyle = 'background: #' + bgcolor;
	
	if (isIE){   
		row_id.style.cssText = rowStyle;
		} else {
		_setStyle(row_id, rowStyle);
	}	
}


function EnlargeImage(mouseX, mouseY, imgName){
	
	var enlarge_box = document.getElementById("enlarge_image");
	var enlarged_image = 'enlarged_image';
	
	var mouseXFinal = mouseX + 20;
	var mouseYFinal = mouseY - 250 + 125;
	
	 if (isIE){   
			enlarge_box.style.cssText = 'display: inline; position: absolute; top: ' + mouseYFinal + 'px; left: ' + mouseXFinal + 'px;';
		} else {
			_setStyle(enlarge_box, 'display: inline; position: absolute; top: ' + mouseYFinal + 'px; left: ' + mouseXFinal + 'px;');
		}
	 document[enlarged_image].src= imgName.src;
}

function HideEnlargedImage(){
	var enlarge_box = document.getElementById("enlarge_image");
	  if (isIE){   
	  		enlarge_box.style.cssText = 'display: none; position: absolute; top: 0px; left: 0px;';
		} else {
			_setStyle(enlarge_box, 'display: none; position: absolute; top: 0px; left: 0px;');
		}
}

var tempX = 0;
var tempY = 0;

function getMouseXY(e) {
if (IE) { // grab the x-y pos.s if browser is IE
tempX = event.clientX + document.body.scrollLeft;
tempY = event.clientY + document.body.scrollTop;
}
else {  // grab the x-y pos.s if browser is NS
tempX = e.pageX;
tempY = e.pageY;
}  
if (tempX < 0){tempX = 0;}
if (tempY < 0){tempY = 0;}  
document.Show.MouseX.value = tempX;
document.Show.MouseY.value = tempY;
return true;
}

//five star review
function ChooseStarRating(star_no){
	var i;
	var a;
	for (i = 1; i < 6; i++){
		starElName = 'star_' + i;
		var starNo = document.getElementById(starElName);
		if (i <= star_no){ 
		starNo.setAttribute('src', 'images/star_gold.png');
		} else {
		starNo.setAttribute('src', 'images/star_empty.png');
		}
	}
}
function SetReviewRating(rating){
	var ratingForm = document.getElementById('review_rating');
	var ratingText = document.getElementById('rating_text');
	ratingForm.setAttribute('value', rating);
	var currentRating = ratingForm.getAttribute('value');
	ratingText.firstChild.nodeValue = currentRating + ' Stars';
}
//---

function ChangeImageViewer(pID, imgID, imgURLID){
	var final_id = "#" + imgID;
	var final_url = 'sections/product_image.php?product_id=' + pID + '&image_id=' + imgURLID;

			$('#image_ajax').fadeOut('fast', function(){
					$('#image_ajax').load(final_url);
			});
			
			$('#image_ajax').ajaxSuccess(function() {
		    $('#image_ajax').fadeIn('fast');
	});
}



function ChangeBuyProductQty(formName, newQty){
	
	var BPformEl = document.getElementById(formName);
	BPformEl.value = newQty;
	var ValueF = BPformEl.value;
	
	}




// OVERLAY FUNCTIONS
function TextboxName(formN, textboxName, defaultValue, isRegister){

	var formEl = document.getElementById(formN);
	var formName =  formEl;
	var currentValue = formName.elements[textboxName].value;
	
	if (currentValue == defaultValue)
		formName.elements[textboxName].value = '';
		
		//toggle password
		if (textboxName == 'password')
		passwordEl.type = "password";
	
	//register submit toggle
	if (isRegister){
		formName.elements["register_submit"].id = 'register_button';
		formName.elements["register_submit"].disabled = false;
		}
	
	//password type toggle
	if (textboxName == 'password')
		passwordEl.type = "password";
}

function TextboxNameDefault(formN, textboxName, defaultValue, isRegister){
	var formEl = document.getElementById(formN);
	var formName = formEl;
	var currentValue = formName.elements[textboxName].value;
	
	
	if (!currentValue){
	formName.elements[textboxName].value = defaultValue;
	
	//register submit toggle
	if (isRegister == 'yes'){
		formName.elements["register_submit"].disabled = true;
		formName.elements["register_submit"].id = 'register_button_disabled';
		}
	} else {
		if (isRegister){
			formName.elements["register_submit"].disabled = false;
			formName.elements["register_submit"].id = 'register_button';
		}
	}
	
	//password type toggle
	if (textboxName == 'password')
		passwordEl.type = "textbox";
	
}

function validateSupportForm()
{

var emailValid = true;
// Get form field values
var subjectN = document.forms["support"]["subject"].value;
var messageN = document.forms["support"]["message"].value;
var phoneN = document.forms["support"]["phone"].value;
var p_idN = document.forms["support"]["p_id"].value;
var emailN = document.forms["support"]["email"].value;


if (!isValidEmail(emailN))
	emailValid = false;

// Check if all fields are filled out
if (subjectN == null || subjectN == "Subject of Your Message...")
{
  alert("Please fill out a subject!");
  return false;
}
  
else if (messageN == null || messageN == "")
{
  alert("Please fill out a message!");
  return false;
}

else if (emailN == null || emailN == "")
{
  alert("Please fill out your email address!");
  return false;
}



else if (messageN == null || messageN == ""  || emailN == null || emailN == "" || !emailValid)  {
  alert("Please fill out a subject, message and your email address!");
  return false;
}

if (phoneN == 'If yes, enter your phone number...')
		phoneN = 'no';


	
  
  
  var friendlySubject = subjectN.replace('\'','"');
  var friendlyMsg = messageN.replace('\'','"');
  var friendlyMsg2 = friendlyMsg.replace(new RegExp( "\\n", "g" ), "%nl%");
  
 
  
  
    
  var submitURL = 'overlay_support.php?s=' + friendlySubject + '&m=' + friendlyMsg2 + "&p=" + phoneN + "&p_id=" + p_idN + "&e=" + emailN + "&submitted=overlay_submit";
  grabFile(submitURL, 'ajax_support_content', 'none');
  
  return false;
  
}

function isValidEmail(str) {
   return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
}

function FixFormIE(){
	var subjectF = document.getElementById("ol_frm_subject");
	var phoneF = document.getElementById("ol_frm_phone");
	var emailF = document.getElementById("ol_frm_email");
	
	if (isIE){   
		if (subjectF){ subjectF.style.cssText = "padding-top: 8px; height: 27px;" }
		if (phoneF){ phoneF.style.cssText = "padding-top: 8px; height: 27px;" }
		if (emailF){ emailF.style.cssText = "padding-top: 8px; height: 27px;" }
	
	
	}
}

