//====================================================================================================
//	File Name		:	validate.js
//----------------------------------------------------------------------------------------------------
//	Purpose			:	Client side validation in JavaScript.
//====================================================================================================

var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1;
var ns6=document.getElementById&&navigator.userAgent.indexOf("Opera")==-1;
var ns4=document.layers;
var ffox=!(navigator.userAgent.indexOf("Firefox")==-1);

//====================================================================================================
//	Function Name	:	IsEmpty
//----------------------------------------------------------------------------------------------------
function IsEmpty(fld,msg)
{
	if((fld.value == "" || fld.value.length == 0) && (msg == ''))
	{
		return false;
	}
	if(fld.value == "" || fld.value.length == 0)
	{
		alert(msg);
		try {fld.focus();}catch(e){return true;}
		return false;
	}
	return true;
}

//====================================================================================================
//	Function Name	:	IsEmail
//----------------------------------------------------------------------------------------------------
function IsEmail(fld,msg)
{
	var regex = /^[\w]+(\.[\w]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/ ;
	if(!regex.test(fld.value))
	{
		alert(msg);
		fld.focus();
		return false;
	}
	return true;
}

//====================================================================================================
//	Function Name	:	IsInt
//----------------------------------------------------------------------------------------------------
function IsInt(fld,msg)
{
	var regex = /^[0-9]*$/;
	if(!regex.test(fld.value))
	{
		alert(msg);
		fld.focus();
		return false;
	}
	return true;
}


//====================================================================================================
//	Function Name	:	IsFloat
//----------------------------------------------------------------------------------------------------
function IsFloat(fld,msg)
{
	var regex = /^[0-9.]*$/;
	if(!regex.test(fld.value))
	{
		alert(msg);
		fld.focus();
		return false;
	}
	return true;
}

//====================================================================================================
//	Function Name	:	IsValidString
//----------------------------------------------------------------------------------------------------
function IsValidString(fld,msg)
{
	var regex = /^[_]*[a-zA-Z_]+[a-zA-Z0-9_]*$/;
	//var regex = /^[_]*[α-ωΑ-Ω_]+[α-ωΑ-Ω0-9_]*$/;
	
	if(!regex.test(fld.value))
	{
		alert(msg);
		fld.focus();
		return false;
	}
	return true;
}

//====================================================================================================
//	Function Name	:	IsPassword
//----------------------------------------------------------------------------------------------------
function IsPassword(fld,msg)
{
	var regex = /^[_]*[a-zA-Z]+[0-9]+[a-zA-Z0-9]*$/;
	if(!regex.test(fld.value))
  	{
		alert(msg);
		fld.focus();
		return false;
	}
	return true;
}

//====================================================================================================
//	Function Name	:	IsLen
//----------------------------------------------------------------------------------------------------
function IsLen(fld, minlen, maxlen, msg)
{
	if(fld.value.length < minlen || fld.value.length > maxlen)
	{
		alert(msg);
		fld.focus();
		return false;
	}
	return true;
}

//====================================================================================================
//	Function Name	:	IsCurrency
//----------------------------------------------------------------------------------------------------
function IsCurrency(fld,msg)
{
    val = fld.value.replace(/\s/g, "");

	regex = /^\$?\d{1,3}(,?\d{3})*(\.\d{1,2})?$/;

    if(!regex.test(val)) {
         alert(msg);
		 fld.focus();
		 return false;
    }
	return true;
}

//====================================================================================================
//	Function Name	:	IsZip
//----------------------------------------------------------------------------------------------------
function IsZip(fld,msg)
{
	var num = /^[\d]+$/;
	if(!num.test(fld.value) || (fld.value.length !=5 && fld.value.length !=6))
	{
		alert(msg);
		fld.focus();
		return false;
	}
	return true;
}

//====================================================================================================
//	Function Name	:	IsValidFormat
//----------------------------------------------------------------------------------------------------
function IsValidFormat(fld, filelist, msg)
{
	var regex = new RegExp('(' + filelist.toLowerCase() + ')$');
	if(!regex.test(fld.value.toLowerCase()))
	{
		alert(msg);
		fld.focus();
		return false;
	}
	return true;
}

//====================================================================================================
//	Function Name	:	IsUrl
//----------------------------------------------------------------------------------------------------
function IsUrl(fld,msg)
{
//	var regex = /^(http:\/\/)/;
	var regex = /^(http:\/\/|https:\/\/)/;
	if(!regex.test(fld.value))
	{
		alert(msg);
		fld.focus();
		return false;
	}
	return true;
}

//====================================================================================================
//	Function Name	:	IsValidSize
//----------------------------------------------------------------------------------------------------
function IsValidSize(fld, msg)
{
	var regex = /^[0-9]*x[0-9]*$/i;
	
	if(!regex.test(fld.value))
	{
		alert(msg);
		fld.focus();
		return false;
	}
	return true;
}


function islogin(page)
{
	var xmlHttp
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	{
		alert ("Your browser does not support AJAX!");
		return;
	} 
   
	  //xmlHttp=new XMLHttpRequest();
	  xmlHttp.onreadystatechange=stateChanged;
	   
	  var url;
	  
	  url= document.getElementById("SiteRoot1").value + "index/checklogin/";
  	
	  xmlHttp.open("GET",url,true);
	  
	  xmlHttp.send(null);
	  
	  
	  function stateChanged() 
		{ 
			if (xmlHttp.readyState==4)
			{ 
			   if(xmlHttp.responseText=="yes")
			   {
				   if(page=='eb')
				   		document.location=document.getElementById("SiteRoot1").value+"extrabudget/";
				   		//tb_show("asd", "pin?placeValuesBeforeTB_=savedValues&TB_iframe=true&height=214&width=320&modal=true&id=5", "asd")
				   else if(page=='t')
				   		document.location=document.getElementById("SiteRoot1").value+"transfer/";
				   else if(page=='s')
						document.location=document.getElementById("SiteRoot1").value+"substitute/";
					
			   }
			   else
			   {
				    if(page=='eb')
				   		alert("Κάντε πρώτα Login για να συνεχίσετε");//You Have To Login First For Extra BudgetPage
				   else if(page=='t')
				   		alert("Κάντε πρώτα Login για να συνεχίσετε");//You Have To Login First For Transfer Page
				   else if(page=='s')
						alert("Κάντε πρώτα Login για να συνεχίσετε");//You Have To Login First For Substitute Page
				   
				   return false;
			   }
			}
		}
	
}

	
	
function GetXmlHttpObject()
{ 
	var objXMLHttp=null
	if (window.XMLHttpRequest)
	{
		
		objXMLHttp=new XMLHttpRequest()
	}
	else if (window.ActiveXObject)
	{
			
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
	
	return objXMLHttp
}


//script for the floating menu 	 
isIE=document.all;
isNN=!document.all&&document.getElementById;
isN4=document.layers;
isHot=false;

function ddInit(e){
	
  topDog=isIE ? "BODY" : "HTML";
  whichDog=isIE ? document.all.theLayer : document.getElementById("theLayer");  
  hotDog=isIE ? event.srcElement : e.target;  
  while (hotDog.id!="titleBar"&&hotDog.tagName!=topDog){
    hotDog=isIE ? hotDog.parentElement : hotDog.parentNode;
  }  
  if (hotDog.id=="titleBar"){
    offsetx=isIE ? event.clientX : e.clientX;
    offsety=isIE ? event.clientY : e.clientY;
    nowX=parseInt(whichDog.style.left);
    nowY=parseInt(whichDog.style.top);
    ddEnabled=true;
    document.onmousemove=dd;
  }
}

function dd(e){
  if (!ddEnabled) return;
  whichDog.style.left=isIE ? nowX+event.clientX-offsetx : nowX+e.clientX-offsetx; 
  whichDog.style.top=isIE ? nowY+event.clientY-offsety : nowY+e.clientY-offsety;
  return false;  
}

function ddN4(whatDog){
  if (!isN4) return;
  N4=eval(whatDog);
  N4.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP);
  N4.onmousedown=function(e){
    N4.captureEvents(Event.MOUSEMOVE);
    N4x=e.x;
    N4y=e.y;
  }
  N4.onmousemove=function(e){
    if (isHot){
      N4.moveBy(e.x-N4x,e.y-N4y);
      return false;
    }
  }
  N4.onmouseup=function(){
    N4.releaseEvents(Event.MOUSEMOVE);
  }
}

function hideMe(){
  if (isIE||isNN) whichDog.style.visibility="hidden";
  else if (isN4) document.theLayer.visibility="hide";
  
}

function showMe(){
	
  if (isIE||isNN) whichDog.style.visibility="visible";
  else if (isN4) document.theLayer.visibility="show";
}

document.onmousedown=ddInit;
document.onmouseup=Function("ddEnabled=false");



//function called by the side menu of the player list
function showplayer(id)
{
	ajaxFunction1(id);
	showMe();
}

function showplayergameweek(id)
{
	ajaxFunction2(id);
	showMe();
}

function showteamplayer(id,status)
{

	if(status=='yes')
	{
		ajaxFunction1(id);
		showMe();
	}
}



//script for floating player info

var xmlHttp

function ajaxFunction1(id)
{
//    alert("asfasd");
//	return false;

	xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
    {
        alert ("Your browser does not support AJAX!");
        return;
    } 
   
	 //xmlHttp=new XMLHttpRequest();
	 xmlHttp.onreadystatechange=stateChanged;
	   
	 var url;
	
	 url= document.getElementById("SiteRoot").value + "ajv?id="+id;
	  
	 xmlHttp.open("GET",url,true);
	  
	 xmlHttp.send(null);
	 
	 
	 
	 function stateChanged() 
		{ 
			if (xmlHttp.readyState==4)
			{ 
				if(xmlHttp.responseText!="")
				{
					document.getElementById("theLayer").innerHTML=xmlHttp.responseText;
					
				}
			}
		}
		
		
		function GetXmlHttpObject()
		{
		var xmlHttp=null;
		try
		  {
		  // Firefox, Opera 8.0+, Safari
		  xmlHttp=new XMLHttpRequest();
		  }
		catch (e)
		  {
		  // Internet Explorer
		  try
			{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			}
		  catch (e)
			{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
		  }
		return xmlHttp;
		}
      
}

function ajaxFunction2(id)
{
//    alert("asfasd");
//	return false;

	xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
    {
        alert ("Your browser does not support AJAX!");
        return;
    } 
   
	 //xmlHttp=new XMLHttpRequest();
	 xmlHttp.onreadystatechange=stateChanged;
	   
	 var url;
	
	 url= document.getElementById("SiteRoot").value + "ajv1?id="+id;
	  
	 xmlHttp.open("GET",url,true);
	  
	 xmlHttp.send(null);
	 
	 
	 
	 function stateChanged() 
		{ 
			if (xmlHttp.readyState==4)
			{ 
				if(xmlHttp.responseText!="")
				{
					document.getElementById("theLayer").innerHTML=xmlHttp.responseText;
					
				}
			}
		}
		
		
		function GetXmlHttpObject()
		{
		var xmlHttp=null;
		try
		  {
		  // Firefox, Opera 8.0+, Safari
		  xmlHttp=new XMLHttpRequest();
		  }
		catch (e)
		  {
		  // Internet Explorer
		  try
			{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			}
		  catch (e)
			{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
		  }
		return xmlHttp;
		}
      
}


function fillhelp(page)
{
//    alert("asfasd");
//	return false;

	xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
    {
        alert ("Your browser does not support AJAX!");
        return;
    } 
   
	 //xmlHttp=new XMLHttpRequest();
	 xmlHttp.onreadystatechange=stateChanged;
	   
	 var url;
	
	 if(page=="newteam")
	 {
		 
		 url= document.getElementById("imgroot").value +'/transfer/myteamhelp/';
		 //alert(url);
	 }
	 else if(page=="terms")
	 {
		 url= document.getElementById("imgroot").value +'/user/terms/';
	 }
	 else
	 {
		 url= document.getElementById("imgroot").value +'/'+ page + "/help/";
	 }
	 xmlHttp.open("GET",url,true);
	  
	 xmlHttp.send(null);
	 
	 
	 
	 function stateChanged() 
		{ 
			if (xmlHttp.readyState==4)
			{ 
				if(xmlHttp.responseText!="")
				{
					document.getElementById("theLayer").innerHTML=xmlHttp.responseText;
					showMe();
				}
			}
		}
		
		
		function GetXmlHttpObject()
		{
		var xmlHttp=null;
		try
		  {
		  // Firefox, Opera 8.0+, Safari
		  xmlHttp=new XMLHttpRequest();
		  }
		catch (e)
		  {
		  // Internet Explorer
		  try
			{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			}
		  catch (e)
			{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
		  }
		return xmlHttp;
		}
      
}


function selecthelp()
{
	if(document.getElementById('isnew').value!='yes')
	{
		fillhelp('transfer');
	}
	else
	{
		fillhelp('newteam');
	}
}



function fillFantasyteamGameweekhistory()
{
//    alert("asfasd");
//	return false;

	xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
    {
        alert ("Your browser does not support AJAX!");
        return;
    } 
   
	 //xmlHttp=new XMLHttpRequest();
	 xmlHttp.onreadystatechange=stateChanged;
	   
	 var url;
	
	
	url= document.getElementById("imgroot").value +'/myteam/teamhistory/';
		 //alert(url);
	
	 xmlHttp.open("GET",url,true);
	  
	 xmlHttp.send(null);
	 
	 
	 
	 function stateChanged() 
		{ 
			if (xmlHttp.readyState==4)
			{ 
				if(xmlHttp.responseText!="")
				{
					document.getElementById("theLayer").innerHTML=xmlHttp.responseText;
					showMe();
				}
			}
		}
		
		
		function GetXmlHttpObject()
		{
		var xmlHttp=null;
		try
		  {
		  // Firefox, Opera 8.0+, Safari
		  xmlHttp=new XMLHttpRequest();
		  }
		catch (e)
		  {
		  // Internet Explorer
		  try
			{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			}
		  catch (e)
			{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
		  }
		return xmlHttp;
		}
      
}






