function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

function optionChanged2()
{
	var option_menu = document.getElementById('productOptions').getElementsByTagName('select');
	option_menu=option_menu[0];
	option_menu.onchange = function(){
		var selected_id = this.options[this.selectedIndex].id;
		select_pic(selected_id);
		select_status(selected_id);
	};
}
function select_pic(img_id)
{
	if( img_id.indexOf('s')>-1 ){
		img_id=img_id.substr(0,img_id.indexOf('s'));
	}
	var images_div = document.getElementById('productImage');
	/*Make all images invisible*/
	var image_divs = images_div.getElementsByTagName('div');
	var k = 0
	for (i = 0; i < image_divs.length; i++)
	{
		if( image_divs(i).id == img_id ){
			image_divs(i).style.display='inline';
			k=1
		}
		else{
			image_divs(i).style.display='none';
		}
	}
	if( k==0 ){
		image_divs(0).style.display='inline';
	}
}
function select_status(option_id)
{
	var status_div = document.getElementById("productStatus");
	/*Only show status div corresponding to selected option_id */
	var status_ps = status_div.getElementsByTagName('p');
	for (i = 0; i < status_ps.length; i++)
	{
		if( status_ps(i).id == option_id ){
			status_ps(i).style.display='inline';
		}
		else{
			status_ps(i).style.display='none';
		}
	}
}
function CheckField(obj,realname)
{
	if (obj)
	{
		if (obj.value == '' || obj.value == ' ') 
		{
			return '- ' + realname + '\n';
		}
		else
		{
			return '';
		}
	}
}

function CheckSelect(obj,realname)
{
	if (obj)
	{
		if (obj.options[obj.selectedIndex].text == '' || obj.options[obj.selectedIndex].text == ' '  || obj.options[obj.selectedIndex].text == 'Click here to select...') 
		{
			return '- ' + realname + '\n';
		}
		else
		{
			return '';
		}
	}
}

function checkemail(str)
{

	/*

	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i

	if (filter.test(str))
	{
		return true
	}
	else
	{
		alert('The email address you have entered does not seem to be valid.');
		return false
	}
	*/

	if ((str.indexOf(".") > 2) && (str.indexOf("@") > 0))
	{
		return true
	}
	else
	{
		alert('The email address you have entered does not seem to be valid.');
		return false
	}

}

function IsDate(sText)
{
	var ValidChars = "0123456789";
	var result = false;
	var format = "nn/nn/nnnn"; // UK Style Date
	var FormatChar;
	var Char
	
	//alert('Length: ' + sText.length);
	
	if (sText.length == 10)
	{
		for (i = 0; i < format.length; i++)
		{
			FormatChar = format.charAt(i);
			Char = sText.charAt(i);
			//alert('FormatChar: ' + FormatChar);
			//alert('Char: ' + Char);
			if (FormatChar == 'n')
			{
				if (ValidChars.indexOf(Char) == -1)
				{
					//alert(Char + ' is not a number');
					return false;
				}
			}
			else
			{
				if (Char != FormatChar)
				{
					//alert(Char + ' and ' + FormatChar + ' are not equal to each other');
					return false;
				}
			}		
		}			
	}
	else
	{
		return false;
	}
	return true;
}


function IsNumeric(sText)
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;

   if (sText.length == 0)
   {
	 IsNumber = false;
   }
 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
   { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
      {
         IsNumber = false;
      }
   }
   return IsNumber;
}


function IsDouble(sText)
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;
   var Pos = sText.indexOf('.');
   
   //alert('Pos: ' + Pos);

 	if (Pos != -1)
	{
		for (i = sText.length-1; i< sText.length-2; i--) 
  		{ 
	      Char = sText.charAt(i); 
		  //alert('Loop 1, Char ' + i + ' : ' + Char);
    	  if (ValidChars.indexOf(Char) == -1) 
	      {
    	     IsNumber = false;
	      }
	    }
		
		for (i=0; i<Pos; i++)
		{
		  Char = sText.charAt(i); 
		  //alert('Loop 2, Char ' + i + ' : ' + Char);
    	  if (ValidChars.indexOf(Char) == -1) 
	      {
    	     IsNumber = false;
	      }
		}		
	}
	else
	{
		if (!IsNumeric(sText))
		{
			IsNumber = false;
		}
	}
   	return IsNumber;
}

function round(amount,X)
{
	// rounds number to X decimal places, defaults to 2

	X = (!X ? 2 : X);
	var g= Math.round(amount*Math.pow(10,X))/Math.pow(10,X);
	var s=g.toString()
	if (s.indexOf(".")==-1)
	{
		len=X
		g=g+"."
	}
	else
	{
		len=(X - (s.length - s.lastIndexOf("."))+1)
	}

	for(i=0;i<len;i++)
	{
		g=g+"0"
	}
	return g
}


function formatNumber(val,dp) 
{ 
	var no = eval(val);
	if (!no)
		no = 0.0;
	return round(no, dp);
} 

function setClass(classToSet,id) {
	var elem = document.getElementById(id);
	elem.className = classToSet;
}

