
function hasClass(target, classValue)
{
	var pattern = new RegExp("(^| )" + classValue + "( |$)");

	if (target.className.match(pattern))
	{
		return true;
	}

	return false;
};




function addClass(target, classValue)
{
	if (!hasClass(target, classValue))
	{
		if (target.className == "")
		{
			target.className = classValue;
		}
		else
		{
			target.className += " " + classValue;
		}
	}

	return true;
};




function removeClass(target, classValue)
{
	var removedClass = target.className;
	var pattern = new RegExp("(^| )" + classValue + "( |$)");

	removedClass = removedClass.replace(pattern, "$1");
	removedClass = removedClass.replace(/ $/, "");

	target.className = removedClass;

	return true;
};
function addLoadListener(fn)
{
	if (typeof window.addEventListener != 'undefined')
	{
		window.addEventListener('load', fn, false);
	}
	else if (typeof document.addEventListener != 'undefined')
	{
		document.addEventListener('load', fn, false);
	}
	else if (typeof window.attachEvent != 'undefined')
	{
		window.attachEvent('onload', fn);
	}
	else
	{
		return false;
	}
	
	return true;
};




function attachEventListener(target, eventType, functionRef, capture)
{
    if (typeof target.addEventListener != "undefined")
    {
        target.addEventListener(eventType, functionRef, capture);
    }
    else if (typeof target.attachEvent != "undefined")
    {
        target.attachEvent("on" + eventType, functionRef);
    }
    else
    {
        return false;
    }

    return true;
};


document.onclick = function(e)
{
  var target = e ? e.target : window.event.srcElement;

  while (target && !/^(a|body)$/i.test(target.nodeName))
  {
    target = target.parentNode;
  }

  if (target && target.getAttribute('rel')
      && target.rel == 'external')
  {
    var external = window.open(target.href);

    return external.closed;
  }
  
  if (target && target.getAttribute('rel')
      && target.rel == 'internal')
  {
    window.location.href = target.href;

   
  }
  
  
  
}



addLoadListener(initModular);

function hide(id){

 var optional = document.getElementById(id);

 if (!hasClass(optional, "hide"))
	{
		addClass(optional, "hide");
		return false;
	}

    else
	{
		removeClass(optional, "hide");
		return false;
	}
  return false;
}

function mark(id,class_name){

 var optional = id;

 if (!hasClass(optional,class_name))
	{
		addClass(optional,class_name);
		return false;
	}

    else
	{
		removeClass(optional, class_name);
		return false;
	}
  return false;
}



function initModular()
{    var img = new Image();
     img.src = "img/loader.gif";
   
    	
	
	var modules = "";
	
	//alert(modules); 
	
	if(modules = document.getElementById("you"))
	{
		var h2s = modules.getElementsByTagName("a");

		for (var j = 0; j < h2s.length; j++)
		{
			//addClass(h2s[j].parentNode, "moduleDraggable");
			attachEventListener(h2s[j], "click", changefon, false);
		}
	
		removeClass(modules,"hide")
        addClass(document.getElementById("loader_op1"),"hide")
	}
	
	var modules = "";
	
	//alert(modules);
	if(modules = document.getElementById("you2"))
	{
		var h2s = modules.getElementsByTagName("a");

		for (var j = 0; j < h2s.length; j++)
		{
			//addClass(h2s[j].parentNode, "moduleDraggable");
			attachEventListener(h2s[j], "click", changestic, false);
		}
	
        removeClass(modules,"hide")
        addClass(document.getElementById("loader_op2"),"hide")
}
	
	return true;
};


function changefon(event){

if (typeof event == "undefined")
	{
		event = window.event;
	}
	
	if (typeof event.target != "undefined")
	{
		dragTarget = event.target;
	}
	else
	{
		dragTarget = event.srcElement;
	}
	
	
//alert(dragTarget.style.backgroundColor);
// chaging div color:

  if(dragTarget.getAttribute("id")&& dragTarget.id=='active_fon')
   {
   event.returnValue = false;

	if (typeof event.preventDefault != "undefined")
	{
		event.preventDefault();
	}

   return false;
   }else {
   
   if(old_color = document.getElementById("active_fon"))
   old_color.setAttribute("id","");
   
   document.getElementById("png_cont").style.backgroundColor = dragTarget.style.backgroundColor;
   dragTarget.setAttribute("id","active_fon");
   }




// marker 




event.returnValue = false;

	if (typeof event.preventDefault != "undefined")
	{
		event.preventDefault();
	}

return false;
}

function changestic(event){

if (typeof event == "undefined")
	{
		event = window.event;
	}
	
	if (typeof event.target != "undefined")
	{
		dragTarget = event.target;
	}
	else
	{
		dragTarget = event.srcElement;
	}
	


  if(dragTarget.getAttribute("id")&& dragTarget.id=='active_sti')
   {
   //alert("yo");
   event.returnValue = false;

	if (typeof event.preventDefault != "undefined")
	{
		event.preventDefault();
	}

   return false;
   }else {
   
   if(old_color = document.getElementById("active_sti"))
   old_color.setAttribute("id","");
 
   dragTarget.setAttribute("id","active_sti");
   }


	
//alert(document.getElementById("dyn_image").src);

var cont = document.getElementById("png_cont");

var image = document.getElementById("dyn_image");

var d = image.src.split("/");



if(typeof image.accosrc == 'undefined')
   {
        var srcimage = image.src.substring(0,image.src.length - d[d.length-1].length);
		image.accosrc = srcimage;
   } 
   else 
        srcimage = image.accosrc;
//



nodetodel = document.getElementById("loader_op");
if(hasClass(nodetodel,"hide"))
	removeClass(nodetodel,"hide");



  if ((/\.gif/i).test(image.src))
  {
	
	if(typeof image.iesrc2 == 'undefined')
   {
        filter2 = image.style.filter;
		image.iesrc2 = image.style.filter;
		//alert(image.iesrc2);
   } 
   else 
        var filter2 = image.iesrc2;
	
	
	var pattern = /(\/+[\w\-]+\.png)/;
    var result = filter2.replace(pattern, "/colors/"+dragTarget.style.backgroundColor.substring(1)+".png");
	var color = dragTarget.style.backgroundColor.substring(1);
	image.style.filter = result;
	
		image.src = 'js/blank.gif';
	 //alert(result);
	 pattern = /(http\:\/\/[\w\-\/\.]+[\w\-\.]+\.png)/g;
	  var res = result.match(pattern);
	  
	  
    //alert(res);
var newimg = new Image();
newimg.src = res;


newimg.onload = function()
{
//alert("yo");
nodetodel = document.getElementById("loader_op");
if(!hasClass(nodetodel,"hide"))
	addClass(nodetodel,"hide");
}


  
  
  }
  else {
  
  
  cont.style.height = cont.offsetHeight+'px';


cont.style.width = cont.offsetWidth+'px';
image.src = "img/loader.gif";



if((/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/).test(dragTarget.style.backgroundColor))
{
	var pattern = /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/;
    var result = dragTarget.style.backgroundColor.replace(pattern, "$1,$2,$3");

	result = result.split(",");
	
	result = RGBtoHex(result[0],result[1],result[2]);
	
	var color = result;
	
	srcimage = srcimage + "/colors/"+result+".png";
	
	srcimage = srcimage.toLowerCase()
	
}else

{


	


 // Opera cache
  
    //alert("create");
	
    //alert("show");
   
   srcimage = srcimage + "/colors/"+dragTarget.style.backgroundColor.substring(1)+".png";
   
   var color = dragTarget.style.backgroundColor.substring(1);
}

var newimg = new Image();
newimg.src = srcimage;

newimg.onload = function()
{

nodetodel = document.getElementById("loader_op");
if(!hasClass(nodetodel,"hide"))
	addClass(nodetodel,"hide");
}


image.src = srcimage;



}

var colorinp = document.getElementById("colorinp");

colorinp.value = color;

//alert(colorinp.value);

event.returnValue = false;

	if (typeof event.preventDefault != "undefined")
	{
		event.preventDefault();
	}

return false;
}


function RGBtoHex(R,G,B) {return toHex(R)+toHex(G)+toHex(B)}
function toHex(N) {
	if (N==null) return "00";
	N=parseInt(N);
	if (N==0 || isNaN(N)) return "00";
	N=Math.max(0,N);
	N=Math.min(N,255);
	N=Math.round(N);
	return "0123456789ABCDEF".charAt((N-N%16)/16)
      + "0123456789ABCDEF".charAt(N%16);
}



addLoadListener(initTooltips);

function initTooltips()
{
  var tips = getElementsByAttribute("class", "hastooltip");

  for (var i = 0; i < tips.length; i++)
  {
    attachEventListener(tips[i], "mouseover", showTip, false);
    attachEventListener(tips[i], "mouseout", hideTip, false);
	attachEventListener(tips[i], "click", stopDefaultActionf, false);
	
  }

  return true;
}

function stopDefaultActionf(event)
{
  if (typeof event == "undefined")
  {
    event = window.event;
  }

  var target = getEventTarget(event);

  while (target.className == null || !/(^| )hastooltip( |$)/.test(target.className))
  {
    target = target.parentNode;
  }

  
  //if(target.getAttribute("rel")&& target.rel=='external')
 // return true;
  event.returnValue = false;
if (typeof event.preventDefault != "undefined")
{
event.preventDefault();
}
}


function showTip(event)
{
  if (typeof event == "undefined")
  {
    event = window.event;
  }

  var target = getEventTarget(event);

  while (target.className == null || !/(^| )hastooltip( |$)/.test(target.className))
  {
    target = target.parentNode;
  }

  var tip = document.createElement("div");
  var content = target.getAttribute("title");

  target.tooltip = tip;
  target.setAttribute("title", "");

  if (target.getAttribute("id") != "")
  {
    tip.setAttribute("id", target.getAttribute("id") + "tooltip");
  }

  tip.className = "tooltip";
  tip.appendChild(document.createTextNode(content));

  var scrollingPosition = getScrollingPosition();
  var cursorPosition = [0, 0];

  if (typeof event.pageX != "undefined" && typeof event.x != "undefined")
  {
    cursorPosition[0] = event.pageX;
    cursorPosition[1] = event.pageY;
  }
  else
  {
    cursorPosition[0] = event.clientX + scrollingPosition[0];
    cursorPosition[1] = event.clientY + scrollingPosition[1];
  }

  tip.style.position = "absolute";
  tip.style.left = cursorPosition[0] + 10 + "px";
  tip.style.top = cursorPosition[1] + 10 + "px";
  tip.style.visibility = "hidden";

  document.getElementsByTagName("body")[0].appendChild(tip);

  var viewportSize = getViewportSize();

  if (cursorPosition[0] - scrollingPosition[0] + 10 + tip.offsetWidth > viewportSize[0] - 25)
  {
    tip.style.left = scrollingPosition[0] + viewportSize[0] - 25 - tip.offsetWidth + "px";
  }
  else
  {
    tip.style.left = cursorPosition[0] + 10 + "px";
  }

  if (cursorPosition[1] - scrollingPosition[1] + 10 + tip.offsetHeight > viewportSize[1] - 25)
  {
    if (event.clientX > (viewportSize[0] - 25 - tip.offsetWidth))
    {
      tip.style.top = cursorPosition[1] - tip.offsetHeight - 10 + "px";
    }
    else
    {
      tip.style.top = scrollingPosition[1] + viewportSize[1] - 25 - tip.offsetHeight + "px";
    }
  }
  else
  {
    tip.style.top = cursorPosition[1] + 10 + "px";
  }

  tip.style.visibility = "visible";

  return true;
}

function hideTip(event)
{
  if (typeof event == "undefined")
  {
    event = window.event;
  }

  var target = getEventTarget(event);

  while (target.className == null || !target.className.match(/(^| )hastooltip( |$)/))
  {
    target = target.parentNode;
  }

  if (target.tooltip != null)
  {
    target.setAttribute("title", target.tooltip.childNodes[0].nodeValue);
    target.tooltip.parentNode.removeChild(target.tooltip);
  }

  return false;
}




function getEventTarget(event)
{
  var targetElement = null;

  if (typeof event.target != "undefined")
  {
    targetElement = event.target;
  }
  else
  {
    targetElement = event.srcElement;
  }

  while (targetElement.nodeType == 3 && targetElement.parentNode != null)
  {
    targetElement = targetElement.parentNode;
  }

  return targetElement;
}

function getViewportSize()
{
  var size = [0,0];

  if (typeof window.innerWidth != 'undefined')
  {
    size = [
        window.innerWidth,
        window.innerHeight
    ];
  }
  else if (typeof document.documentElement != 'undefined'
      && typeof document.documentElement.clientWidth != 'undefined'
      && document.documentElement.clientWidth != 0)
  {
    size = [
        document.documentElement.clientWidth,
        document.documentElement.clientHeight
    ];
  }
  else
  {
    size = [
        document.getElementsByTagName('body')[0].clientWidth,
        document.getElementsByTagName('body')[0].clientHeight
    ];
  }

  return size;
}

function getScrollingPosition()
{
  var position = [0, 0];

  if (typeof window.pageYOffset != 'undefined')
  {
    position = [
        window.pageXOffset,
        window.pageYOffset
    ];
  }

  else if (typeof document.documentElement.scrollTop != 'undefined'
      && document.documentElement.scrollTop > 0)
  {
    position = [
        document.documentElement.scrollLeft,
        document.documentElement.scrollTop
    ];
  }

  else if (typeof document.body.scrollTop != 'undefined')
  {
    position = [
        document.body.scrollLeft,
        document.body.scrollTop
    ];
  }

  return position;
}

function getElementsByAttribute(attribute, attributeValue)
{
  var elementArray = new Array();
  var matchedArray = new Array();

  if (document.all)
  {
    elementArray = document.all;
  }
  else
  {
    elementArray = document.getElementsByTagName("*");
  }

  for (var i = 0; i < elementArray.length; i++)
  {
    if (attribute == "class")
    {
      var pattern = new RegExp("(^| )" + attributeValue + "( |$)");

      if (elementArray[i].className.match(pattern))
      {
        matchedArray[matchedArray.length] = elementArray[i];
      }
    }
    else if (attribute == "for")
    {
      if (elementArray[i].getAttribute("htmlFor") || elementArray[i].getAttribute("for"))
      {
        if (elementArray[i].htmlFor == attributeValue)
        {
          matchedArray[matchedArray.length] = elementArray[i];
        }
      }
    }
    else if (elementArray[i].getAttribute(attribute) == attributeValue)
    {
      matchedArray[matchedArray.length] = elementArray[i];
    }
  }

  return matchedArray;
}

function upcount(type){

var count = document.getElementById("count_sti");
if(type =='minus'&&count !=0)
count.value = count.value -1;
else count.value = parseInt(count.value) +1;

if(count.value <=0)
count.value = 1;


}


function validateFields()
{
var elements = document.forms["orderform"].elements;
var emailPattern = /^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/;
for (var i = 0; i < elements.length; i++)
{
if (/(^| )checkRequired( |$)/.test(elements[i].className) &&
elements[i].value == "")
{
elements[i].focus();

var liel = elements[i].parentNode.parentNode;



var label = liel.getElementsByTagName("label");

var text = label[0].firstChild.nodeValue;

alert(text);
return false;
}
if (/(^| )checkEmail( |$)/.test(elements[i].className) &&
!emailPattern.test(elements[i].value))
{
elements[i].focus();


var liel = elements[i].parentNode.parentNode;



var label = liel.getElementsByTagName("label");

var text = label[0].firstChild.nodeValue;

alert(text);

return false;
}
}
return true;
}



function togglePrintDisplay(e)
{



var whatSection = e.id.split("_");
whatSection = whatSection[1];


var el = document.getElementsByTagName("div");
for (i=0;i<el.length;i++)
	{
	if (el[i].className.indexOf("print_section")!=-1)
		{
		el[i].removeAttribute("className");
		if (el[i].id==whatSection)
			{
			//show only this section for print
			el[i].setAttribute("className","print_section print");
			el[i].setAttribute("class","print_section print");
			}
		else
			{
			//hide the sections from print-out
			el[i].setAttribute("className","hide print_section noprint");
			el[i].setAttribute("class"," hide print_section noprint");
			}
		}
	}

if (window.event) 
	{
	window.event.returnValue = false;
	window.event.cancelBubble = true;
	} 
else if (e) 
	{
	e.stopPropagation();
	e.preventDefault();
	}

window.print();
}

