var repval;
var LF=0;
var repval;
var picsrep;
var webrep;
var emailrep;
var datarep;
var tbpicsrep = "<table><tr><td>Create Report First</td></tr></table>";
var tbwebrep = "<table><tr><td>Create Report First</td></tr></table>";
var tbemailrep = "<table><tr><td>Create Report First</td></tr></table>";
var tbdatarep = "<table><tr><td>Create Report First</td></tr></table>";
var visrep = "<table><tr><td>Create Report First</td></tr></table>";
GetRep=0;

function NumberOnly(f) {
    var re = /^[0-9]*$/;
    if (!re.test(f.value)) {
        f.value = f.value.replace(/[^0-9]/g,"");
        return false;
    }
    return true;
}

/*
function getCookie( name ) {
    var start = document.cookie.indexOf( name + "=" );
    var len = start + name.length + 1;
    if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
        return null;
    }
    if ( start == -1 ) return null;
    var end = document.cookie.indexOf( ';', len );
    if ( end == -1 ) end = document.cookie.length;
    return unescape( document.cookie.substring( len, end ) );
}

function setCookie( name, value, expires, path, domain, secure ) {
    var today = new Date();
    today.setTime( today.getTime() );
    if ( expires ) {
        expires = expires * 1000 * 60 * 60 * 24;
    }
    var expires_date = new Date( today.getTime() + (expires) );
    document.cookie = name+'='+escape( value ) +
        ( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()
        ( ( path ) ? ';path=' + path : '' ) +
        ( ( domain ) ? ';domain=' + domain : '' ) +
        ( ( secure ) ? ';secure' : '' );
}

function deleteCookie( name, path, domain ) {
    if ( getCookie( name ) ) document.cookie = name + '=' +
            ( ( path ) ? ';path=' + path : '') +
            ( ( domain ) ? ';domain=' + domain : '' ) +
            ';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}
*/

function CheckJustEmailField(e,L){
    var em = document.getElementById("Email"); 
    var che = CheckEmailField(em.value);
    if(che<1){
        e.returnValue = false;
        if(L==1) 
            alert("Email is not a properly formatted.");
        else
            alert("Adresse de courriel est pas un adresse électronique correctement composé.");
        return false;
    }
    return true;
}

function CheckSupportEmailField(e){
    //Validate Names also
    var fn = document.getElementById("firstname");
    var ln = document.getElementById("lastname");
    var em = document.getElementById("email");
    
    var sCheck1 = new String(fn.value);
    if(sCheck1.length<1){
        alert("Veuillez assurer une valeur pour Prénom. \n\nPlease supply a value for First Name.");
        e.returnValue = false;
        return false; 
    }
    var sCheck2 = new String(ln.value);
    if(sCheck2.length<1){
        alert("Veuillez assurer une valeur pour Nom de famille. \n\nPlease supply a value for Last Name.");
        e.returnValue = false;
        return false;
    } 
    // end name validification   
    var che = CheckEmailField(em.value);
    if(che<1){
        e.returnValue = false; 
        alert("Adresse de courriel est pas un adresse électronique correctement composé. \n\nEmail is not a properly formatted.");
        return false;
    }
    return true;
} 

function getHTTPObject()
{
    var xmlhttp;
    /*@cc_on @if (@_jscript_version >= 5) try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } @else xmlhttp = false; @end @*/
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined'){
        try {
            xmlhttp = new XMLHttpRequest();
        }
        catch (e){
            return false;
        }
    }
    return xmlhttp;
}

function SearchType() {
    var e = document.getElementById("SearchMonths");
   // alert(e.checked);
    
    if(e.checked){
        var e = document.getElementsByName("ReportDate");
        for(var x=0;x<e.length;x++){ 
            e.item(x).disabled=false;
        }
        var e = document.getElementsByName("FromDate");
        for(var x=0;x<e.length;x++){ 
            e.item(x).disabled=true;
        }
        var e = document.getElementsByName("ToDate");
        for(var x=0;x<e.length;x++){ 
            e.item(x).disabled=true;
        } 
    }
    else{
        var e = document.getElementsByName("ReportDate");
        //alert(e.length);  
        for(var x=0;x<e.length;x++){ 
            e.item(x).disabled=true; 
        }
        var e = document.getElementsByName("FromDate");
        for(var x=0;x<e.length;x++){ 
            e.item(x).disabled=false;
        }
        var e = document.getElementsByName("ToDate");
        for(var x=0;x<e.length;x++){ 
            e.item(x).disabled=false;
        }    
    }
       
    return;
}

function GetStartDate(m){
    var year = "2007";
    switch(m){
    case 1:
    return year+"-01-01";
    break;
    case 2:
    return year+"-02-01";
    break;
    case 3:
    return year+"-03-01";
    break;
    case 4:
    return year+"-04-01";
    break;
    case 5:
    return year+"-05-01";
    break;
    case 6:
    return year+"-06-01";
    break;
    case 7:
    return year+"-07-01";
    break;
    case 8:
    return year+"08-01";
    break;
    case 9:
    return year+"-09-01";
    break;
    case 10:
    return year+"-10-01";
    break;
    case 11:
    return year+"-11-01";
    break;
    case 12:
    return year+"-12-01";
    break;
    }    
}

function GetEndDate(m){
    var year = "2007";
    var feb = "-02-28";
    switch(m){
    case 1:
    return year+"-01-31";
    break;
    case 2:
    return year+feb;
    break;
    case 3:
    return year+"-03-31";
    break;
    case 4:
    return year+"-04-30";
    break;
    case 5:
    return year+"-05-31";
    break;
    case 6:
    return year+"-06-30";
    break;
    case 7:
    return year+"-07-31";
    break;
    case 8:
    return year+"-08-31";
    break;
    case 9:
    return year+"-09-30";
    break;
    case 10:
    return year+"-10-31";
    break;
    case 11:
    return year+"-11-30";
    break;
    case 12:
    return year+"-12-31";
    break;
    }    
}

function DownOptin(){
    var ExcelExport = document.getElementById("ExcelExport");
    ExcelExport.submit();
}

function VerifyDate(element){
    // fill any void date fields
    sb = new String(element.value);
    er=0;
    sb = sb.replace(/ /g,''); 
    sp = sb.split("/");
    var d=""+sp[0];
    var m=""+sp[1];
    if(sp[0].length==1){
        d=" "+sp[0];
        er=1;
    }
    if(sp[0].length==0){
        d="  ";
        er=1;
    }      
    if(sp[1].length==1){
        m=" "+sp[1];
        er=1;
    }
    if(sp[1].length==0){
        m="  ";
        er=1;
    }       
    sb=d+"/"+m+"/"+sp[2];
    if(Number(sp[2])<2006){
        er=2;
    }
    if(sb.length==6){
        sb+="    ";
        er=1;
    }
    if(sb.length==7){
        sb+="   ";
        er=1;
    }
    if(sb.length==8){
        sb+="  ";
        er=1;
    }
    if(sb.length==9){
        sb+=" ";
        er=1;
    }
    //alert(sb); 
    element.value=sb;
    return er;
}

function VerifyForm(){
    var pe = document.getElementById("postal");
    var vl = new String(pe.value);  
    vl = vl.toUpperCase();
    pe.value = vl;

    // fill any void birthday fields
    var element = document.getElementById("birthday");
    sb = new String(element.value);
    //alert(sb);
    sb = sb.replace(/ /g,''); 
    sp = sb.split("/");
    var d=""+sp[0];
    var m=""+sp[1];
    if(sp[0].length==1)
        d=" "+sp[0];
    if(sp[0].length==0)
        d="  ";       
    if(sp[1].length==1)
        m=" "+sp[1];
    if(sp[1].length==0)
        m="  ";        
    sb=d+"/"+m+"/"+sp[2];
    if(sb.length==6)
        sb+="    ";
    if(sb.length==7)
        sb+="   ";
    if(sb.length==8)
        sb+="  ";
    if(sb.length==9)
        sb+=" ";
    //alert(sb); 
    element.value=sb;
}

function SetLan(lan){
	var LAN = document.getElementById("LAN");
	LAN.value = lan;
	//alert("s "+LAN.value );
	return 0;
}

function SubForm(e,L){
    if(VerifyUID(e,L)==true)
        document.forms[0].submit();
}

function VerifyUID(e,L){
    //alert("v");
    var UID = document.getElementById("UID");
    var sCheck = new String(UID.value);
    sCheck = sCheck.replace(' ','');
    UID.value = sCheck;
    if(sCheck.length < 9 | sCheck.length > 11){
        if(L==1)
            alert("The video number is not the right length. Please enter the 11 digit number found on your card.");
        else
            alert("Le format du numéro de vidéo est incorrect. Veuillez s.v.p. saisir le numéro de onze (11) chiffres indiqué sur votre carte. ");
        e.returnValue = false; 
        return false;
    }
    e.returnValue = true; 
    return true;
}

function SubmitNumber(){
//Valid entries
//A-Z a-z '-
    var UID = document.getElementById("UID");
    //alert(UID);
    var bad=0;
    var sCheck = new String(UID.value);
    if(sCheck.length==0){
        //alert("Please enter an 11 number pin found on your card 1");
        return false;
    }
    return true;
    // not using now
    var sValid = new String("1234567890");
    for(var x=0;x<sCheck.length;x++){
        if(sValid.indexOf(sCheck.charAt(x))==-1){
            bad=1;
            break;
        }
    }
    if(bad==1){
        alert("Please enter an 11 number pin found on your card");
        return false;
    }
    return 1;
}

function CheckNameField(check){
    
//Valid entries
//A-Z a-z '-
    var bad=0;
    var sCheck = new String(check);
    if(sCheck.length<2)return -1;
    var sValid = new String(" ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'-");
    for(var x=0;x<sCheck.length;x++){
        if(sValid.indexOf(sCheck.charAt(x))==-1){
            bad=1;
            break;
        }
    }
    if(bad==1){
        return 0;
    }
    return 1;
} 

function CheckEmailField(check){

//Valid entries
//A-Z a-z '-
    var bad=0;
    var sCheck = new String(check);
    if(sCheck.length<6)return -1;
    var sValid = new String("1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz@.,!#$%&'*+-/=?^_`{|}~");
    for(var x=0;x<sCheck.length;x++){
        if(sValid.indexOf(sCheck.charAt(x))==-1){
            bad=1;
            break;
        }
    }
    if(bad==1){
        return 0;
    }
    //if(sCheck.length-sCheck.lastIndexOf(".")>4)return 0;//last char more then 3 in last
    //if(sCheck.lastIndexOf(".")>sCheck.length-3)return 0;//last dot less then 3 from last
    //if(sCheck.indexOf(".")<3)return 0;
    if(sCheck.indexOf("@")==0)return 0;
    if(sCheck.indexOf(".")==-1)return 0;
    if(sCheck.indexOf("@")==-1)return 0;
    if(sCheck.lastIndexOf("@")==sCheck.length-1)return 0;
    if(sCheck.lastIndexOf("@")!=sCheck.indexOf("@"))return 0;//double
    return 1;
}


function SendShareFields(LAN){
	//return 0;
  // Verify Fields
  var el1 = document.getElementsByTagName("Input");
  var aLN = new Array();
  var aFN = new Array();
  var aEM = new Array();
  var a1=0;
  var a2=0;
  var a3=0;
  var g1=0;
  var g2=0;
  var g3=0; 
  var err; 
  var onegood=0;
   for(var x=0;x<el1.length;x++){
       st = new String(el1[x].id);
       //inx = st.indexOf("LN",0);
       
       if(st.indexOf("FN",0)==0){
		if(LAN==1)
			err="The following errors were detected:\n\n";
			
		else
            err="Veuillez corriger les erreurs suivantes:\n\n";
            
            aFN[a2++]=el1[x].value;
            g1 = CheckNameField(el1[x].value);
            if(g1!=1){
				if(LAN==1)
				   err+="Please fill in the first name of the person you want to send to.\n";
                else
                   err+="Votre prénom au complet est obligatoire.\nVeuillez remplir correctement tous les champs.\n";
                el1[x].focus();
            }
       }       
       if(st.indexOf("LN",0)==0){
            aLN[a1++]=el1[x].value;
            g2 = CheckNameField(el1[x].value);
            if(g2!=1){
				if(LAN==1)
					err+="Please fill in the last name of the person you want to send to.\n";
                else
					err+="Votre nom de famille au complet est obligatoire\nVeuillez remplir correctement tous les champs.\n";
                el1[x].focus();
            }    
       }
       if(st.indexOf("EM",0)==0){
            // always comes in last so row can be checked now
            aEM[a3++]=el1[x].value;
            g3 = CheckEmailField(el1[x].value);
            if(g3!=1){
				if(LAN==1)
					err+="Please fill in a correct email of the person you want to send to.\n";
                else
					err+="Veuillez fournir votre adresse électronique valide\nEt remplir correctement tous les champs.\n";
                el1[x].focus();
            }
            // all good
            if(g3==1 & g2==1 & g1==1){
                onegood=1;
            }
            // not all empty
            else if(!(g3==-1 & g2==-1 & g1==-1)){
                alert(err);
                return 0;
            }
       }
    }
    if(onegood==1){
        //alert("a");
        var es = document.getElementById("shareform");   
        es.submit();
        return 1;
    }
    
    alert(err);
    return 0;
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}



function click(e)
{

   var LAN = document.getElementById("LAN");
   if (document.all)
   {
      if (event.button == 2)
      {
		 if(LAN==1)
			alert("Sorry. Right click is not available.");
		 else
			alert("Sorry. Right click is not available.");
         return false;
      }
   }
   if (document.layers)
   {
      if (e.which == 3)
      {
		if(LAN==1)
			alert("Sorry. Right click is not available.");
		 else
			alert("Sorry. Right click is not available.");
		 return false;
      }
   }
}
if (document.layers)
{
   document.captureEvents(Event.MOUSEDOWN);
}
document.onmousedown=click;

function Load(){
    del=0;
    repval="";
    reppos=0;
}

function SetCursorPosition(obj, pos) { 
    if(obj.createTextRange) {
        /* IE Create a TextRange, set the internal pointer to
           a specified position and show the cursor at this
           position
        */ 
        var range = obj.createTextRange();
        range.move("character", pos); 
        range.select(); 
    }
    else if(obj.selectionStart) { 
        //Gecko
        obj.focus(); 
        obj.setSelectionRange(pos, pos); 
    } 
}

function GetEndCursorPosition(obj){
    var end;
    if(obj.createTextRange){
        // IE
        end = Math.abs(document.selection.createRange().moveEnd("character", -1000000)); 
    }        
    else{
        // Gecko
        end   = obj.selectionEnd; 
    }
    return end;
}

function GetStartCursorPosition(obj){
    var start;
    if(obj.createTextRange){
        // IE
        start = Math.abs(document.selection.createRange().moveStart("character", -1000000));
    }        
    else{
        // Gecko
         start = obj.selectionStart;
    }
    return start;
}
/////

function BDayMouseUp(sObj) {
    //return;
    // position at last number if space before it
    var element = document.getElementById(sObj);
    var sPos = GetStartCursorPosition(element);
    var sValue = new String(element.value);
    var sLen = sValue.length;
    // verify position
    if(sPos==0|sPos==1){
        var lchp1 = sValue.indexOf(" ",0);
        var lchp2 = sValue.indexOf(" ",1);
        if(lchp1 == 0 & lchp2 == 0){//if(lchp < sPos & lchp !=-1){
            var curpos = SetCursorPosition(element,0);
            return;
        }
    }
    if(sPos==3|sPos==4){
        var lchp1 = sValue.indexOf(" ",3);
        var lchp2 = sValue.indexOf(" ",4);
        //alert(lchp1);
        //alert(lchp2);
        if(lchp1 == 3 & lchp2 == 4){//if(lchp < sPos & lchp !=-1){
            var curpos = SetCursorPosition(element,3);
            return;
        }
    } 
    //alert(sPos);
    if(sPos==6|sPos==7|sPos==8|sPos==9|sPos==10){
        //alert("aa");
        var lchp1 = sValue.indexOf(" ",6);
        var lchp2 = sValue.indexOf(" ",7);
        var lchp3 = sValue.indexOf(" ",8);
        var lchp4 = sValue.indexOf(" ",9);        
        if(lchp1 == 6 & lchp2 == 7 & lchp3 == 8 & lchp4 == 9){
            var curpos = SetCursorPosition(element,6);
            return;
        }
    }   
    else if(sPos == 2 | sPos == 5){//if(lchp==3 | lchp==7)
        sPos=sPos+1;
        var curpos = SetCursorPosition(element,sPos);  
    }
}



function VerifyBDay(e,moz) {
//alert("ver");
//return 1;
    var element = document.getElementById("birthday");
    var skipover=0;
    var back=0;
    var dele=0;

    keynum = e.which;
    keyCode= e.keyCode;
    if(moz==0)
        keynum = keyCode = e.keyCode;
    //alert(keynum);
    //alert(keyCode);
    if(keyCode==46){
        skipover=1;
        dele=1;
    }
    if(keyCode==8){
        skipover=1;
        back=1;
    }
    if(keyCode==37){
        //left=1;
        //alert("l");
        var sPos = GetStartCursorPosition(element);
        if(sPos==3)
            var curpos = SetCursorPosition(element,2);
        if(sPos==6)
            var curpos = SetCursorPosition(element,5);            
        return 1;        
    }
    if(keyCode==39){
        //right=1;
        //alert("r");
        var sPos = GetStartCursorPosition(element);
        //alert(sPos);
        if(sPos==1)
            var curpos = SetCursorPosition(element,2);
        if(sPos==4)
            var curpos = SetCursorPosition(element,5);            
        return 1;
    }    
    if(keyCode==6|keyCode==9){
        //alert("aa");
        var sPos = GetStartCursorPosition(element);
        if(sPos==4)
            var curpos = SetCursorPosition(element,2);
        if(sPos==4)
            var curpos = SetCursorPosition(element,2);                
        return 1;
    }
    
    
    // pass paste comand
    if(e.ctrlKey==true & keynum == 86)
        return 1;
        
    keychar = String.fromCharCode(keynum);
    
    if(skipover==0){
        //alert(keynum);
        if( keynum < 106 & keynum > 95){ // num lock numbers
            switch (keynum) {
                case 96:
                keychar = "0";
                break;
                case 97:
                keychar = "1";
                break;
                case 98:
                keychar = "2";
                break;
                case 99:
                keychar = "3";
                break;
                case 100:
                keychar = "4";
                break;
                case 101:
                keychar = "5";
                break;
                case 102:
                keychar = "6";
                break;
                case 103:
                keychar = "7";
                break;
                case 104:
                keychar = "8";
                break;
                case 105:
                keychar = "9";
                break;
            }
        }
        else{
            for(var x=0;x<keychar.length;x++){
                var ch = keychar.charAt(x);
                //alert("b");
                //alert(ch);
                var cok = new String("1234567890");
                if(cok.indexOf(ch)==-1){
                    //alert("bc");
                    if(moz==1)
                        e.preventDefault();
                    else{
                        e.returnValue=0;
                    }
                    return false;  
                } 
            }
        }
    }
    
    var sValue = new String(element.value);
    var newValue = new String("");
    var len = sValue.length;

    var sPos = GetStartCursorPosition(element);
    var ePos = GetEndCursorPosition(element);

    // add char        
    //alert(back);
    if(back==1){
        //alert("back");
        // delete
        if(moz==1)
            e.preventDefault();
        else{
            e.returnValue=0;
        }
        var nsPos=sPos-1;
        if(nsPos==-1){
            return;
        }//nsPos=0;
        if(nsPos==2){
            //alert("aa");
            var curpos = SetCursorPosition(element,2);
            return 1;
        }
        if(nsPos==5){
            //alert("aa");
            var curpos = SetCursorPosition(element,5);
            return 1;
        }        
        var s1 = new String(sValue.substring(0,nsPos));
        var s2 = sValue.substring(sPos,len);
        sValue = s1 + " " + s2;
        element.value = sValue;
        var curpos = SetCursorPosition(element,nsPos);
        return 1;
        //sValue = sValue.substring(0,10);
    }
    //alert(dele);
    if(dele==1){
        // delete
        //alert("b1");
        var s1 = new String(sValue.substring(0,sPos));
        var s2 = sValue.substring(sPos+1,len);

        sValue = s1 + " " + s2;
        element.value = sValue;
        //alert(sPos);
        
        if(moz==1)
            e.preventDefault();
        else{
            e.returnValue=0;
        }
        element.value = sValue;
        var curpos = SetCursorPosition(element,sPos);
        return 1;
        //sValue = sValue.substring(0,10);
    }
    
    var s1 = new String(sValue.substring(0,sPos));
    var s2 = sValue.substring(sPos+1,len);
    //newValue.replace(
    sValue = s1 + keychar + s2;
    sValue = sValue.substring(0,10);
    if(moz==1)
        e.preventDefault();
    else{
        e.returnValue=0;
    }
    element.value = sValue;

    if(sPos==1){
        var curpos = SetCursorPosition(element,3);
        return;
    }
    if(sPos==4){
        var curpos = SetCursorPosition(element,6);
        return;
    }
    var curpos = SetCursorPosition(element,sPos+1);
}

function BDayEVerify(e,sObj) {
//alert("ee");
    if(window.event) // IE
    {
        //alert("ee");
        VerifyBDay(e,0);
    }
}

function BDayNSVerify(e) {
//alert("ns");
    if(window.event) // IE
    {
        return 1;
    }
    else{
        ///alert("ns");
        VerifyBDay(e,1);
    }
    return 1;
}

function GetVal(){
var element = document.getElementById("birthday");
repval = element.value;
}

function BDayPasteNS(e){
var element = document.getElementById("birthday");
//alert(element.value);
    element.value = repval;
    return 0;
}

function BDayPasteIE(sObj){
    event.returnValue=0;
}


