// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
function trim(s)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not a whitespace, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (c != " ") returnString += c;
    }
    return returnString;
}
function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}


function checkHoliday(dat)
{   
	var returnString = true;
	
	dat = dat.replace(/-/g, ".");
	
	var pomdat;
	var j=0;
	var k=0;
	for (i = 0; i < dat.length && k==0; i++) {
		var c = dat.charAt(i);
        if (c == ".") {
        	j++;
        	if(j==1) {
        		var den = dat.substring(0,i);
        		pom = i;
        	}
        	if(j==2) {
        		var mes = dat.substring(pom+1,i);
        		pom = i;
        	}	
        }
	}
	var rok = dat.substring(pom+1,i);
	var dat2 = mes + '/' + den + '/' + rok;
	var pomdat = den + '.' + mes + '.';

	var date2 = new Date(eval('"'+dat2+'"'));
	
	den = date2.getDay();

	if(den==6 || den==0) returnString = false;
	
	if(dat in {'2.4.2010':'','02.04.2010':'','05.04.2010':'','05.04.2010':''}) returnString = false; 
    
    if(pomdat in {'1.1.':'','01.01.':'','5.7.':'','05.07.':'','29.8.':'','29.08.':'','1.9.':'','01.09.':'','17.11.':'','6.1.':'',
    				'06.01.':'','1.5.':'','01.05.':'','8.5.':'','08.05.':'','15.9.':'','15.09.':'','1.11.':'','01.11.':'',
    				'24.12.':'','25.12.':'','26.12.':''}) returnString = false;
    
    return returnString;
}

function checkInternationalPhone(strPhone){
var bracket=3
strPhone=trim(strPhone)
if(strPhone.indexOf("+")>1) return false
if(strPhone.indexOf("-")!=-1)bracket=bracket+1
if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false
var brchr=strPhone.indexOf("(")
if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false
if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}