/*
 * Trim String function
 */
String.prototype.trim = function() {
  return(this.replace(/^\s*([\s\S]*\S+)\s*$|^\s*$/,'$1'));
}
/*
 * Tests if the string is an integer number.
 * If the parameter s is defined the string could be and a negative integer.
 */
String.prototype.isInt = function(s)  {
  var digits="1234567890";
  var sign="+";
  if (s != undefined || s != null) sign="-+";
 
  //is already a non-empty string
  if(digits.indexOf(this.charAt(0)) == -1 && sign.indexOf(this.charAt(0)) == -1) {
      return false;
  }

  if (this.length == 1 && sign.indexOf(this.charAt(0)) != -1)  {
     return false;
  }

  for (var i=1; i < this.length; i++)  {
       if (digits.indexOf(this.charAt(i)) == -1) {
          return false;
       }
  }
  return true;
}

function clean(elem_name)
{
	 elem_name = elem_name.replace(/\_+/g, " ")
	 return elem_name.replace(/\[\]+/g, " ")
}

/***************************************/
function IsNumber(name,number)
{
	
	if(number.length>0)
	{
		
		ret=(number.length>0 && number.trim().length>0 && number.isInt())
		if(!ret)alert('Not a number "'+clean(name)+'"');
		return ret;
	}
	
	return true;

}


function IsNotEmpty(elem_name,val)
{
	
	if(val.length==0)
	{
		
		 elem_name = elem_name.replace(/\_+/g, " ")
		 elem_name = elem_name.replace(/\[\]+/g, " ")
		 alert("Please insert "+elem_name+" !" );
		 return false;
	}
	return true;
}

function general_validate(frm,types)
{
	
	f=document.getElementById(frm);
		for(var j=0 ;j< f.elements.length;j++)
		{

			elemType='';
			for(i=0 ;i< types.length;i++)
			{
				var arr = types[i].split("=");
				elemName = arr[0];
				
				if(elemName==f.elements[j].name && elemName.length>0)
				{
					
					elemValue = f.elements[j].value;
					elemType = arr[1];
					ret=true;
					eval("ret="+elemType+"(elemName,elemValue);");

					if(!ret)
					{
						return false;
					}

				}
			}
		}
		return true;
}

function IsEmail(name,val)
{
	
	
	if(!is_email(val))
	{
		alert('Verify the email address format');
		return false;
	}
	return true;
}

function is_email(val)
{
	var at = val.indexOf("@")
	if(at == -1){
		return false
	}
	else
	{
		var at_parts = val.split("@")
		if(at_parts[0].length < 1){
			return false
		}
		else{
			point = at_parts[1].indexOf(".")
			if(point == -1) return false
			else{
				point_parts = at_parts[1].split(".")
				if((point_parts[1].length < 2) || (point_parts[1].length > 3)) return false
				else  return true
			}
		}
	}
}

function isAccepted(f){
	var p = /.*\.(jpg|jpeg|gif|png)+$/i;
	if(p.test(f)){
		return true;
	}
	else{
	 	return false;
	}
}

function ask_delete(name,url){
	var response = window.confirm("Are you sure you want to delete "+name+" ?");
     if (response) {
     	window.location = url;
     	return true;
     }
     return false;
}

function show_selection(s,id){
	var value_selected = s.value;
	if(value_selected.length < 1){
		document.getElementById(id).innerHTML = "";
	}
	else{
		document.getElementById(id).innerHTML = "<img src='"+value_selected+"' width='100'/>";
	}
	
}

function validateFrm(frm){
	var types = new Array();
	types[0] = "title=IsNotEmpty";
	types[1] = "content=IsNotEmpty";
	return general_validate(frm,types);
}

function validFrmAbout(frm){
	var types = new Array();
	types[0] = "_name=IsNotEmpty";
	types[1] = "_email=IsEmail";
	types[2] = "_comments=IsNotEmpty";
	return general_validate(frm,types);
}

function validateItem(frm){
	var f = document.getElementById(frm);
	var n = f._name.value;
	var c = f.category.value;
	if(n.length == 0){
		alert("Please insert name");
		return false;
	}
	if(c.length == 0){
		alert("Please select category");
		return false;
	}
	nr = 0;
	for(i=1;i<=10;i++){
		pn = "p"+i;
		pv = document.getElementById(pn).value;
		if(pv.length > 0){
			if(!isAccepted(pv)){
				alert("Please select an image file for picture number "+i);
				return false;
			}
			else{
				nr++;
			}
		}
	}
	if(nr<1){
		alert("Please add at least one picture for this item");
		return false;
	}
	return true;
}

function validateItem2(frm){
	var f = document.getElementById(frm);
	var n = f._name.value;
	var c = f.category.value;
	if(n.length == 0){
		alert("Please insert name");
		return false;
	}
	if(c.length == 0){
		alert("Please select category");
		return false;
	}
	nr = 0;
	for(i=1;i<=10;i++){
		pn = "p"+i;
		pv = document.getElementById(pn).value;
		if(pv.length > 0){
			if(!isAccepted(pv)){
				alert("Please select an image file for picture number "+i);
				return false;
			}
			else{
				nr++;
			}
		}
	}
	
	return true;
}
function newImage(arg) 
{
    if (document.images) {
	    rslt = new Image();
	    rslt.src = arg;
	    return rslt;
     }
}
var p_;
var dir_;
var id_;
function change_pic(p,dir,id){
	if(!document.getElementById || !document.getElementsByTagName) return;
	
	preload=newImage(p);
	p_=p;
	dir_=dir;
	id_=id;
	
	setTimeout('do_change_pic()',100);

}

function do_change_pic()
{
	var d = document.getElementById('imgDiv');
	d.innerHTML = "<a href=index.php?page="+dir_+"&iid="+id_+"><img class='pic' src='" + p_ + "' width='305'/></a>";
}

function change_thumb(t,w){
	swapfade(document.getElementById('imgDiv'),t,'2','');
	document.getElementById('imgDiv').width=w;
}

function validateTellFriend(){
	var f = document.getElementById('frmTellFriend');
	var n = f.yourname.value;
	var e = f.youremail.value;
	if(n.length < 1){
		alert("Please write your name");
		return false;
	}
	if(!is_email(e)){
		alert("Your email address is incorrect");
		return false;
	}
	return true;
}

function change(i){
	var old = i.src;
	var new_src = old.replace("_out.gif","_over.gif");
	i.src = new_src;
}

function change_back(i){
	var old = i.src;
	var new_src = old.replace("_over.gif","_out.gif");
	i.src = new_src;
}

function goBack()
{
  window.history.back()
}
