// JavaScript Document

$(document).ready(function() {
	blurLinks();
	var isIE6 = false /*@cc_on || @_jscript_version < 5.7 @*/;
	if (isIE6) {
		$("#productContactForm").css("display" , "none");	
	}
	
	$('a.openLightbox').lightBox();
	
	$('a.openPopup').click(function (e) {
		e.preventDefault();
		var iframeContainer = document.createElement("iframe");
		iframeContainer.src = $(this).attr("href");
		$("#iframeContainer").modal();
		$("#iframeContainer").html("<iframe scrolling='no' frameborder=0 src='"+ iframeContainer.src +"'></iframe>");
	});
	
	$('a.next').click(function (e) {
		e.preventDefault();
		if (isIE6) {
			$("#productDescription").css("display" , "none");
			$("#productContactForm").css("display" , "block");
		}
		$("a.next").css("visibility" , "hidden");
		$("a.prev").css("visibility" , "visible");
	});
	
	$('a.prev').click(function (e) {
		e.preventDefault();
		if (isIE6) {
			$("#productDescription").css("display" , "block");
			$("#productContactForm").css("display" , "none");
		}
		$("a.next").css("visibility" , "visible");
		$("a.prev").css("visibility" , "hidden");
	});
	
	$('#fade').find('img').click(function () {
		location.href = $(this).attr("rel");
	});
	
	$.fn.cycle.defaults.speed   = 600;
	$.fn.cycle.defaults.timeout = 5400;
	$('#fade').cycle({ 
	    fx:    'fade', 
	    pause:  1 
	});	
	
});

//----------- SEO POPUP ------------
$(function () {
  $('.bubbleInfo').each(function () {
    // options
    var distance = 10;
    var time = 250;
    var hideDelay = 500;

    var hideDelayTimer = null;

    // tracker
    var beingShown = false;
    var shown = false;
    
    var trigger = $('.trigger', this);
    var popup = $('.popup', this).css('opacity', 0);

    // set the mouseover and mouseout on both element
    $([trigger.get(0), popup.get(0)]).mouseover(function () {
      // stops the hide event if we move from the trigger to the popup element
      if (hideDelayTimer) clearTimeout(hideDelayTimer);

      // don't trigger the animation again if we're being shown, or already visible
      if (beingShown || shown) {
        return;
      } else {
        beingShown = true;

        // reset position of popup box
        popup.css({
          top: -30,
          left: 20,
          display: 'block' // brings the popup back in to view
        })

        // (we're using chaining on the popup) now animate it's opacity and position
        .animate({
          top: '-=' + distance + 'px',
          opacity: 1
        }, time, 'swing', function() {
          // once the animation is complete, set the tracker variables
          beingShown = false;
          shown = true;
        });
      }
    }).mouseout(function () {
      // reset the timer if we get fired again - avoids double animations
      if (hideDelayTimer) clearTimeout(hideDelayTimer);
      
      // store the timer so that it can be cleared in the mouseover if required
      hideDelayTimer = setTimeout(function () {
        hideDelayTimer = null;
        popup.animate({
          top: '-=' + distance + 'px',
          opacity: 0
        }, time, 'swing', function () {
          // once the animate is complete, set the tracker variables
          shown = false;
          // hide the popup entirely after the effect (opacity alone doesn't do the job)
          popup.css('display', 'none');
        });
      }, hideDelay);
    });
  });
});
//------- SEO POPUP -------------

function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
}
window.onload = externalLinks;

function emptyFormFields(el,val) {
		if (el.value == val ) {
			el.value = '';
		} 
}
		
		function fillFormFields(el,val) {
		if (el.value == '' ) {
			el.value = val;
		}
}

function unblur() {
	this.blur();
}

function blurLinks() {
	links = document.getElementsByTagName("a");
	for(i=0; i<links.length; i++) {
		links[i].onfocus = unblur;
	}
	inputs = document.getElementsByTagName("input");
	for(i=0; i<inputs.length; i++) {
		if (inputs[i].type == 'button' || inputs[i].type == 'submit') {
			inputs[i].onfocus = unblur;
		}
	}

}

function showPic (whichpic, picID) {
  document.getElementById(picID).src = whichpic.href;
  return false;
}

function setFocus(obj) {
	x = document.getElementById(obj);
	x.focus();
}

function flashObjects (objPath,objWidth,objHeight,objTitle,objParam,wmode,altPath,altWidth,altHeight,altTitle) {
	document.write('<object type="application/x-shockwave-flash" data="'+objPath+'"width="'+objWidth+'" height="'+objHeight+'" '+objParam+'> \
					<param name="movie" value="'+objPath+'" /> \
					<param name="quality" value="high" /> \
					<param name="wmode" value="'+wmode+'" /> \
					<img src="'+altPath+'" width="'+altWidth+'" height="'+altHeight+'" alt="'+altTitle+'" /></object>');
}

	function validateElement(element, errorContainer, errorMsg, method, param, check_for_default_values)
{
	var errorContainer = document.getElementById(errorContainer);
	var element_fieldname = element.getAttribute('name');
	
	if (check_for_default_values == true)
	{
		if (element.value == default_value[element_fieldname])
		{
			element.setAttribute('rel', 'validate');
			errorContainer.innerHTML = errorMsg;
			return;
		}
	}

	switch(method)
	{
		case 'number':
			var validNumberRegex = /^[-+]?\d+(\.\d+)?$/;
			
			if (validNumberRegex.test(element.value) && element.value.length >= param)
			{
				element.setAttribute('rel', '');
				errorContainer.innerHTML = '';
			}
			else
			{
				element.setAttribute('rel', 'validate');
				errorContainer.innerHTML = errorMsg;
			}
		break;
	
		case 'shortdate':
			var validShortDateRegex = /^\d{2}(\/)\d{2}$/
			
			if (validShortDateRegex.test(element.value) && element.value.length >= param)
			{
				element.setAttribute('rel', '');
				errorContainer.innerHTML = '';
			}
			else
			{
				element.setAttribute('rel', 'validate');
				errorContainer.innerHTML = errorMsg;
			}
		break;
	
		case 'date':
			var validShortDateRegex = /^\d{2}(\/)\d{2}(\/)\d{4}$/
			
			if (validShortDateRegex.test(element.value) && element.value.length >= param)
			{
				element.setAttribute('rel', '');
				errorContainer.innerHTML = '';
			}
			else
			{
				element.setAttribute('rel', 'validate');
				errorContainer.innerHTML = errorMsg;
			}
		break;
	
		case 'checked':
			var cnt = 0;
			var arrSize = param.length;
			var inArr = false;
			for (z=0;z<param.length;z++) {
				if ($(param[z]).checked) {
					inArr = true;
				}
			}
			
			if (!inArr)
			{
				element.setAttribute('rel', 'validate');
				errorContainer.innerHTML = errorMsg;
			}
			else
			{
				element.setAttribute('rel', '');
				errorContainer.innerHTML = '';
			}
		break;
	
		case 'selected':
			if (element.value < param)
			{
				element.setAttribute('rel', 'validate');
				errorContainer.innerHTML = errorMsg;			
			}
			else
			{
				element.setAttribute('rel','');
				errorContainer.innerHTML = '';
			}
		break;
	
		case 'minlength':
			if (element.value.length < param){
				element.setAttribute('rel','validate');
				errorContainer.innerHTML=errorMsg;
			}else{
				element.setAttribute('rel','');
				errorContainer.innerHTML="";				
			}
		break;
		
		case 'filecheck':
			if ($(param) != 'undefined' && $(param) != null){
				element.setAttribute('rel','');
				errorContainer.innerHTML="";				
			}else{
				if (element.value.length < 1){
					element.setAttribute('rel','validate');
					errorContainer.innerHTML=errorMsg;
				}else{
					element.setAttribute('rel','');
					errorContainer.innerHTML="";				
				}
			}
		break;
		
		case 'email':
			var emailRegex = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			if (emailRegex.test(element.value))
			{
				element.setAttribute('rel','');
				errorContainer.innerHTML='';	
			}
			else
			{
				element.setAttribute('rel', 'validate');
				errorContainer.innerHTML = errorMsg;
			}
		break;
		
		case 'url':
			var urlRegex = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
			if (urlRegex.test(element.value))
			{
				element.setAttribute('rel', '');
				errorContainer.innerHTML='';
			}
			else
			{
				element.setAttribute('rel', 'validate');
				errorContainer.innerHTML = errorMsg;
			}
		break;
		
		case 'rewriteNavigation':
			element.setAttribute('rel','');
			errorContainer.innerHTML="";
			// errorMsg[0] - Enter Rewrite
			// errorMsg[1] - Invalid Rewrite
			// errorMsg[2] - Rewrite already exists
			
			var urlRegex = /^([a-z\_]+)$/;
			if (element.value.length < 1)
			{
				element.setAttribute('rel','validate');
				errorContainer.innerHTML = errorMsg[0];
			}
			else {
				if (!urlRegex.test(element.value))
				{
					element.setAttribute('rel', 'validate');
					errorContainer.innerHTML = errorMsg[1];
				}
				else{
					var ajax = new Ajax.Request(rootUrl + 'admin/ajax/rewriteNavigation/'+element.value+'/'+param+'.html', {
						method: 'get',
						asynchronous : false, 
						onSuccess: function (transport) {
							var result = transport.responseText;
							if (result == "true"){
								element.setAttribute('rel','validate');
								errorContainer.innerHTML = errorMsg[2];
							}else{
								element.setAttribute('rel','');
								errorContainer.innerHTML="";				
							}
						}
					});
				}
			}
		break;
		
		case 'refno':
			var urlRegex = /^([a-zA-Z0-9\_\-]+)$/;
			if (element.value.length < 1)
			{
				element.setAttribute('rel','validate');
				errorContainer.innerHTML=errorMsg;
			}
			else {
				if (!urlRegex.test(element.value))
				{
					element.setAttribute('rel', 'validate');
					errorContainer.innerHTML = "Ref. No. must contain only letters, numbers and _";
				}
				else{
					if (param == "-1")
						append = ".html";
					else
						append = "/"+param+".html";
						
					var ajax = new Ajax.Request(rootUrl + 'admin/ajax/refno/'+element.value+append, {
						method: 'get',
						asynchronous : false, 
						onSuccess: function (transport) {
							var result = transport.responseText;
							if (result == "true"){
								element.setAttribute('rel','validate');
								errorContainer.innerHTML="Ref. No. already exists";
							}else{
								element.setAttribute('rel','');
								errorContainer.innerHTML="";				
							}
						}
					});
				}
			}
		break;
		
		case 'username':
			// errorMsg[0] -> Enter username
			// errorMsg[1] -> Invalid username
			var usernameRegex = /^([a-zA-Z0-9\_\-]+)$/;
			
			if (element.value.length < param)
			{
				element.setAttribute('rel','validate');
				errorContainer.innerHTML = errorMsg[0];
			}
			else
			{
				if (!usernameRegex.test(element.value))
				{
					element.setAttribute('rel', 'validate');
					// errorContainer.innerHTML = "Username must contain only must contain only letters, numbers, (_) and (-)";
					errorContainer.innerHTML = errorMsg[1];
				}
				else
				{
					element.setAttribute('rel','');
					errorContainer.innerHTML="";				
				}
			}
		break;
	}
	
}
	

function validateForm(errorMsg){
	var elements = $$('[rel="validate"]');

	if (elements.length > 0){
		for(i=0; i<elements.length; i++){
			el = elements[i];
			el.focus();
			el.blur();
		}
	}
	var elements = $$('[rel="validate"]');
	//for(i=0; i<elements.length; i++){
	//		alert(elements[i].name);
	//}
		
		
	if (elements.length > 0){
		alert(errorMsg);
		return false;
	}else{
		return true;
	}
}


function validateUserForm(errorMsg){
	
	//var el = $("[@rel=validate]");
	 //alert(el.length);
		/*for(i=0;i<el.length;i++){
			alert(el[i].id);
		}*/
	var elements = el = $("[@rel=validate]");
	if (elements.length > 0){
		for(i=0; i<elements.length; i++){
			el = elements[i];
			el.focus();
			el.blur();
		}
	}
	var elements = el = $("[@rel=validate]");

	if (el.length > 0){
		/*for (i=0;i<el.length;i++) {
			alert(el[i].id + ': ' +el[i].rel);
		}*/
		alert(errorMsg);
		return false;
	}else{
		return true;
	}
}

function popUpPrint(URL, width, height) {
	if(width==''){
		width = 700;
	}
	
	if(height==''){
		height = 600;
	}
	window.open( URL, "myWindow", "status = 1, height = " + height + ", width = " + width + ", toolbar=no, scrollbars=yes, menubar=no, resizable = yes" )	
}
