var mousePos;

jQuery(document).ready(function() {
   jQuery('.select-type select').bind("keypress", function(e) {
      if(e.keyCode == 17)
          return false;
   });
   jQuery('.select-type select').change(showColors);
      
   var initialValue = jQuery('input[name=query]').val();

   jQuery('input[name=query]').click(function() {
       if(jQuery(this).val() == initialValue)
           jQuery(this).val('');
   });

   // admin
   jQuery('#form_type').change(showManufacturer);
   showManufacturer();

});

function showManufacturer() {
   var value = jQuery('#form_type').val()
   jQuery('#form_manufacturer_id_offset').parent('div').hide();
   jQuery('#form_manufacturer_id_prepress').parent('div').hide();
   jQuery('#form_manufacturer_id_postpress').parent('div').hide();
   jQuery('#form_manufacturer_id_' + value).parent('div').slideDown();

   switch(value) {
       case 'offset':
           jQuery('#form_nr_of_colors').parent('div').slideDown();
           jQuery('#form_million_impressions').parent('div').slideDown();
       break;
       case 'prepress':
       case 'postpress':
           jQuery('#form_nr_of_colors').val(0).parent('div').hide();
           jQuery('#form_million_impressions').val('').parent('div').hide();
       break;
   }
}

function showColors() {
   if(jQuery('.select-type select').val() != 'offset') {
       jQuery('li#colors').slideUp();
	   jQuery('li#colors').parent('ul').css('margin-left', '87px');
   } else {
       jQuery('li#colors').slideDown();
	   jQuery('li#colors').parent('ul').css('margin-left', '0');
   }
}

function loadDescription(id,lang) {
   var url = 'description.php';
   var pars = new Object();
   pars.id = id;
   if(lang != null) {
      pars.lang = lang;
   }
   $("#machineDescription").html("Loading, please wait..").css("display", "block");
   $("#machineDescription").load(url, pars);
   var el            = document.getElementById('machineDescription');
   el.style.top = (mousePos.y+215)+'px';

   return false;
   /*var h = document.location.href;
   h = h.replace(/#pr_(.+)/gi,"");
   document.location.href = h+"#pr_"+id;*/
}

function loadDescriptionAdmin(id) {
   var el            = document.getElementById('machineDescription');
   el.style.display  = 'block'
   el.innerHTML      = 'Loading, please wait..';
   el.style.top = (mousePos.y+215)+'px';

   var url = '../description.php';
   var pars = new Object();
   pars.id = id;
   pars.ajax = 1;
   $("#machineDescription").load(url, pars);
   setScrollY(getScrollY());
   
   return false;
}

function getScrollY(ev) {
	if (document.all)
      {
         if (!document.documentElement.scrollTop)
            scrollY = document.body.scrollTop;
         else
            scrollY = document.documentElement.scrollTop;
      }   
      else
      {
         scrollY = window.pageYOffset;
      }
	  return scrollY;
}
function setScrollY(value) {
	if (document.all)
      {
         if (!document.documentElement.scrollTop)
            document.body.scrollTop = value;
         else
            document.documentElement.scrollTop = value;
      }   
      else
      {
         window.pageYOffset = value;
      }
}

document.onmousemove = mouseMove;

function mouseMove(ev){
	ev           = ev || window.event;
	mousePos     = mouseCoords(ev);
}

function mouseCoords(ev){
	if(ev.pageX || ev.pageY){
		return {x:ev.pageX, y:ev.pageY};
	}
	
	return {
		x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
		y:ev.clientY + getScrollY()  - document.body.clientTop
	};
}

function updateLanguage(lang) {
   var loc = document.location.href;
   loc = loc.replace(/#.+/gi, '');
   if(loc.match(/\?/gi)) {
      loc += '&lang='+lang;
   }
   else {
      loc += '?lang='+lang;
   }
   document.location.href = loc;
}

function setDivHeight() {
   /*var winW = 630, winH = 460;
   var el = document.getElementById("scrollableDiv");
   //var el2 = document.getElementById("advertisingScrollable");

   if (self.innerHeight) { 
      // all except Explorer
      winW = self.innerWidth;
      winH = self.innerHeight;
   }
   else if (document.documentElement && document.documentElement.clientHeight) {
      // Explorer 6 Strict
      winW = document.documentElement.clientWidth;
      winH = document.documentElement.clientHeight;
   }
   else if (document.body) {
      // other Explorers
      winW = document.body.clientWidth;
      winH = document.body.clientHeight;
   }
   if(winH-350 > 200) {
      el.style.height = winH-350+'px';
      //el2.style.height = winH-350+'px';
   }
   else {
      el.style.height = '200px';
      //el2.style.height = '200px';
   }*/
}

function listen(elem, event, func) {
   if (elem.addEventListener) {
      elem.addEventListener(event,func,false);
   }
   else if (elem.attachEvent) {
      elem.attachEvent('on'+event,func);
   }
   else {
      elem['on' + event] = func;
   }
}

var getElementsByClassName = function (className, tag, elm){
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};

var cnter = 1;
var row = 9;

function addMachine() {
   cnter++;
   var add = '<tr><td><input type="text" name="specification_' + cnter + '" /></td><td><select name="number_' + cnter + '"><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option></select></td></tr>';
   $("#formtable tr:eq("+row+")").after(add);
   row ++;
}
