﻿var counter = 0;
 
//var pattern = '^Add';

// Get the checkboxes inside the Gridview which is part of the template column
function GetChildCheckBoxCount() 
{    
    var checkBoxCount = 0;  
    
    var elements = document.getElementsByTagName("INPUT"); 
    
    for(i=0; i<elements.length;i++) 
    {
        if(IsCheckBox(elements[i]) &&  IsMatch(elements[i].id)) checkBoxCount++; 
    }
    
   return parseInt(checkBoxCount); 
}

// A function that checks if the checkboxes are the one inside the GridView 
function IsMatch(id) 
{
    var regularExpresssion = new RegExp(pattern); 
    if(id.match(regularExpresssion)) return true; 
    else return false; 
}

function IsCheckBox(chk) 
{
    if(chk.type == 'checkbox') return true; 
    else return false;
}


function AttachListener()
{
    var elements =  document.getElementsByTagName("INPUT");
    
    for(i=0; i< elements.length; i++) 
    {       
        if( IsCheckBox(elements[i]) &&  IsMatch(elements[i].id)) 
        {
            AddEvent(elements[i],'click',CheckChild); 
        }
    }    
}

function CheckChild(e) 
{
    var evt = e || window.event; 
    
    var obj = evt.target || evt.srcElement 
  
    if(obj.checked)
    {
        if(counter < GetChildCheckBoxCount()) 
            { counter++; }        
    }    
            
    else 
    {
       if(counter > 0) { counter--; }    
    } 
       
    if(counter == GetChildCheckBoxCount()) 
    { document.getElementById("chkAll").checked = true; } 
    else if(counter < GetChildCheckBoxCount()) { document.getElementById("chkAll").checked = false; }    
  
}

function AddEvent(obj, evType, fn) 
{
    if (obj.addEventListener)
    {
    obj.addEventListener(evType, fn, true);
    return true;
    }
 
 else if (obj.attachEvent)
 {
    var r = obj.attachEvent("on"+evType, fn);
    return r;
 }
  else
   {
    return false;
   }    
}


function Check(parentChk) 
{
	this.pattern = parentChk.id.substring(6,13);
    var elements =  document.getElementsByTagName("INPUT"); 
    
    for(i=0; i<elements.length;i++) 
    {
        if(parentChk.checked == true) 
        {  
            if( IsCheckBox(elements[i]) &&  IsMatch(elements[i].id)) 
            {
            elements[i].checked = true; 
            }         
        }
        else 
        {
            //elements[i].checked = false; 
            // reset the counter 
            counter = 0; 
            if( IsCheckBox(elements[i]) &&  IsMatch(elements[i].id)) 
            {
            elements[i].checked = false; 
            }  
        }       
    }
    
    if(parentChk.checked == true) 
    {
        counter = GetChildCheckBoxCount(); 
    }   
}


function SelectAllCheckboxes(spanChk, divName){

   // Added as ASPX uses SPAN for checkbox
   var oItem = spanChk.children;
   var formType = "";
   var theBox= (spanChk.type=="checkbox") ? // && (spanChk.id.indexOf(divName) == 0))? 
        spanChk : spanChk.children.item[0];
//   var theBox= ((spanChk.type=="checkbox") && (spanChk.name.indexOf('Add') = 1)) ? 
//        spanChk : spanChk.children.item[0];
   
//   alert(theBox.id.indexOf(divName));
   alert(divName);
        
   xState=theBox.checked;
   elm=theBox.form.elements;

   for(i=0;i<elm.length;i++)
     if(elm[i].type=="checkbox" && elm[i].id.indexOf(divName) == 0 &&
              elm[i].id!=theBox.id)
     {
       //elm[i].click();
       if(elm[i].checked!=xState)
         elm[i].click();
       //elm[i].checked=xState;
     }
 }
 
 function CheckDeleteTerm(thispage) 
{
    var j = 0;
    
    elm2=thispage.form.elements;
    
    //find the first checkbox and increment i to that so it will start looking for checkboxes after the first
    for(i=0;i<elm2.length && elm2[i].type != "checkbox";i++)
	
	//increment i so that it will start looking for the next one
	i = i + 1;   

    for(i=i;i<elm2.length && j==0;i++)
    {
      if(elm2[i].type=="checkbox")
      {
        if(elm2[i].checked== 1)
          j=j+1;
      }
	}
//	alert(thispage.form.ctl00_Body_TermDataGrid1_DropDownList1.selectedIndex);

   if(thispage.form.ctl00_Body_TermDataGrid1_DropDownList1.options[thispage.form.ctl00_Body_TermDataGrid1_DropDownList1.selectedIndex].value =="DeleteTerm" && (j > 0))
	 { 
		return thispage.form.ctl00_Body_TermDataGrid1_Button1.onClick = confirm("Are you sure? Deleting keywords will remove all data."); 
	 } 
}

