msgWindow=false;
valid_phone=false;
form_updated=false;
var version='1.0.0';


function newWindow(file,window,x,y,resize) {
    if(resize){resize='yes';}else{resize='no';}
    msgWindow=open(file,window,'menubar=no,toolbar=no,status=no,resizable='+resize+',width='+x+',height='+y);
    if (msgWindow.opener == null) msgWindow.opener = self;
    return true;
}

function csw_action(myaction,mydiv,myfunction,mytype,myfields,myvalues)
{
    var params = "mydiv="+escape(mydiv)+"&action="+escape(myaction)+"&function="+escape(myfunction)+"&type="+escape(mytype)+"&fields="+escape(myfields)+"&values="+escape(myvalues);

    params = params.replace('+','%2B');   //Added 08-03-06 to preserve a '+' in values
    //alert(params);


    var xmlHttp;
    try
    {
        // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
    }
    catch (e)
    {
    // Internet Explorer
        try
        {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e)
            {
                alert("Your browser does not support AJAX!");
                return false;
            }
        }
    }
    xmlHttp.onreadystatechange=function()
    {
        if(xmlHttp.readyState==4)
        {
            if(myaction == "data")
            {

                if(xmlHttp.responseText)
                {
                    if(mydiv)
                    {
                        //alert('mydiv = something : '+mydiv);
                        //document.getElementById(mydiv).innerHTML=xmlHttp.responseText;
                    }else{
                        //document.getElementById('myAlert').className="myAlert";
                        //document.getElementById('myAlert').innerHTML=xmlHttp.responseText;
                        alert(xmlHttp.responseText);
                    }
                }
                //setTimeout("csw_myAlert_Clear()",10000);
            }
            if( myaction == "session")
            {
                if(xmlHttp.responseText){
                   // document.getElementById('myAlert').className="myAlert";
                    //document.getElementById('myAlert').innerHTML=xmlHttp.responseText;
                }
                //setTimeout("csw_myAlert_Clear()",10000);
            }
            if ( myaction == "display")
            {
                if(xmlHttp.responseText)
                {
                    var inscriptElement = false;
                    var tempscript = "";
                    var html = "";
                    script_start = xmlHttp.responseText.indexOf('<script ');
                    script_end = xmlHttp.responseText.indexOf('</script>');
                    if(script_start > 0)
                    {
                        tempscript = xmlHttp.responseText.substr(script_start, script_end - script_start);
                      //alert("Text:"+tempscript+"\nLength:" +tempscript.length+"\nStart:" + script_start + "\nEnd:" + script_end);
                        s_start = tempscript.indexOf('>') + 1;
                        s_end = tempscript.lastIndexOf('</script>');
                        tempscript = tempscript.substr(s_start, tempscript.length - s_start);
                      //alert("Text:"+tempscript+"\nLength:" +tempscript.length+"\nStart:" + script_start + "\nEnd:" + script_end);
                      //  s_end = tempscript.lastIndexOf('</script>');
                      //alert("Last </script> End:" + s_end);
                      //  tempscript = tempscript.substr(0, s_end+1);
                      //alert("Text:"+tempscript+"\nLength:" +tempscript.length+"\nStart:" + script_start + "\nEnd:" + script_end);

                        //prompt('test',tempscript);
                       //alert("Text:"+tempscript+"\nLength:" +tempscript.length+"\n start:" + s_start + "\nEnd:" + s_end);
                       //alert("start:" + script_start + "\nEnd:" + script_end);

                        //alert('SCRIPT:\n' + tempscript);
                        var newScript;
                        try {
                            newScript = document.createElement('script');
                            newScript.type = "text/javascript";
                            newScript.text = tempscript;
                            document.body.appendChild(newScript);
                        } catch (e) {
                            try {
                                newScript = document.createElement('script');
                                newScript.type = "text/javascript";
                                var s = document.createTextNode(tempscript);
                                newScript.appendChild(s);
                                document.body.appendChild(newScript);
                            } catch(e) {
                                alert("Dynamic JavaScript Failed to load!");
                            }
                        }

                        tempscript = "";
                    }
                    if(!document.getElementById(mydiv))
                    {
                        alert('Timing Error: '+ mydiv + ' is not ready');
                    }else{
                        document.getElementById(mydiv).innerHTML=xmlHttp.responseText;
                    }
                }
            }
            if ( myaction == "field")
            {
                if(xmlHttp.responseText)
                {
                    if(myfields)
                    {
                        var all_fields = myfields.split('|');
                        //var changed_field = document.getElementById(all_fields[1]);
                        //if(changed_field)
                        //{
                        //    changed_field.className = 'field_changed ';
                        //}
                        var changed_field = document.getElementById(all_fields[0]);
                        if(changed_field)
                        {
                            changed_field.value = xmlHttp.responseText;
                        }
                    }
                }
            }
        }
    }

    xmlHttp.open("POST","ajax-control.php",true);
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", params.length);
    xmlHttp.setRequestHeader("Connection", "close");

    xmlHttp.send(params);
return true;
}


function csw_myAlert_Clear()
{
    //document.getElementById('myAlert').innerHTML='&nbsp;';
    //document.getElementById('myAlert').className='';
}

function csw_ToggleBlock(myElement)
{
    var this_element = document.getElementById(myElement);
    if(this_element)
    {
       var new_value = this_element.style.display == 'none' ? 'block' : 'none';
       this_element.style.display=new_value;
    }
}




function csw_alert(msg){
    alert(msg);
}



function getElementsByClass(needle)
{
  var my_array = document.getElementsByTagName("*");
  var retvalue = new Array();
  var i;
  var j;

  for (i = 0, j = 0; i < my_array.length; i++)
  {
    var c = " " + my_array[i].className + " ";
    if (c.indexOf(" " + needle + " ") != -1)
      retvalue[j++] = my_array[i];
  }
  return retvalue;
}


function valid_input(sInput,ValidChars)
{
   var sChar;
   var new_input
   new_input="";
   for (i = 0; i < sInput.length; i++)
   {
      sChar = sInput.charAt(i);

      if (ValidChars.indexOf(sChar) != -1)
      {
         new_input = new_input + sChar;
      }
   }
   return new_input;
}



function toProper(field) {
    str = field.value
    new_value=str;
    mylength = str.length;
    // alert('str =|' + str + '|' + mylength +'|');
    var end = str.substring(mylength - 1,mylength);
    // alert('End = |'+ end +'|');
    if (end != " ") {
        //alert('Split|'+ end +'|');
        var a = str.split(/\s+/g); // split the sentence into an array of words
        //alert('Array length =' +a.length);
        for (i = 0 ; i < a.length ; i++ )
        {
            var firstLetter = a[i].substring(0, 1).toUpperCase();
            var next_letter = "";
            var next_letter2 = "";
            var restOfWord = a[i].substring(1, a[i].length).toLowerCase();
            if (a[i].substring(0,2).toUpperCase() == "MC")
            {
                var next_letter = "c";
                var next_letter2 = a[i].substring(3, 2).toUpperCase();
                var restOfWord = a[i].substring(3, a[i].length).toLowerCase();
            }
            if (a[i].substring(0,2).toUpperCase() == "O'")
            {
                var next_letter = "'";
                var next_letter2 = a[i].substring(3, 2).toUpperCase();
                var restOfWord = a[i].substring(3, a[i].length).toLowerCase();
            }
            a[i] = firstLetter+ next_letter + next_letter2+ restOfWord; // re-assign it back to the array and move on
         }

         new_value = a.join(' '); // join it back together
    }
    field.value =  new_value;
    return true;
}

function Trim(str) {
    str=str.replace(/^\s*|\s*$/g,"");
     return str;
}





function placeFocus(myfield) {
    if (myfield)
    {
        setTimeout('document.'+myfield+'.focus()',100);
        return true;
    }
    if (document.forms.length > 0)
    {
        var field = document.forms[0];
        for (i = 0; i < field.length; i++)
        {
            if ((field.elements[i].type == "text") || (field.elements[i].type == "textarea") || (field.elements[i].type.toString().charAt(0) == "s"))
            {
                setTimeout('document.forms[0].elements['+i+'].focus();',50);
                break;
            }
        }
    }
}


function left(str, n){
    if (n <= 0)
        return "";
    else if (n > String(str).length)
        return str;
    else
        return String(str).substring(0,n);
}


function check_form(myform) {
   var missed ="#CC5555";
   if(!myform)
   {
    var myform=document.forms[0];
   }
       //alert(myform.id);
       //alert(myform.elements.length);

    for(i=0; i<myform.elements.length; i++){
        my_field = myform.elements[i];
        //alert(my_field.id + '-'+ my_field.name + " -- " + my_field.className);
        if(my_field.className.indexOf('req') > -1)
        {
            if(document.getElementById('save_changes'))
            {
                document.getElementById('save_changes').value = 'Save Changes';
            }
            if(my_field.type == 'select-one' && my_field.options[my_field.selectedIndex].value==0) {
                alert('You must enter the ' + my_field.id);
                my_field.style.background = missed;
                my_field.focus();
                return false;
            }else if(my_field.type == 'text') {
                //alert(my_field.name);
                if(my_field.value == '' ) {
                    if(my_field.title)
                    {
                        alert(my_field.title);
                    }else{
                        alert('You must enter the: ' + my_field.name);
                    }
                    my_field.style.background = missed;
                    my_field.focus();
                    return false;
                }
                if(my_field.name == 'zip' && (my_field.value.length < 5 || (my_field.value.length  > 5 && my_field.value.length  < 9 ))) {
                    alert('You must enter valid 5 digit zip code');
                    my_field.style.background = missed;
                    my_field.focus();
                    return false;
                }
                if(my_field.name == 'phone' && (my_field.value.length < 10)) {
                    alert(my_field.value.length + ' You must enter valid 10 digit phone number');
                    my_field.style.background = missed;
                    my_field.focus();
                    return false;
                }
            }

            my_field.style.background = '';
            // my_field.className = 'req';
        }
    }
    return true;
}



function csw_create_div(div_name,div_width,div_height,div_zindex)
{
    if(div_width > 0)
    {
        div_width = (20+div_width)+'px';
    }else{
        div_height = 'auto';
    }
    if(div_height > 0)
    {
        div_height = div_height+'px';
    }else{
        div_height = 'auto';
    }
   	if (!document.getElementById(div_name)) {
    	var newNode = document.createElement("div");
    	newNode.setAttribute("id", div_name);
	    newNode.setAttribute("class", "popup");
    	newNode.setAttribute("style", "visibility: hidden;");
    	document.body.appendChild(newNode);
  	}
  	var pickerDiv = document.getElementById(div_name);
	pickerDiv.style.position = "absolute";
	pickerDiv.style.border = "8px outset #0000FF";
	//pickerDiv.style.visibility = (pickerDiv.style.visibility == "visible" ? "hidden" : "visible");
	pickerDiv.style.visibility = "visible";
	pickerDiv.style.background = '#303060';
	pickerDiv.style.zIndex = div_zindex;
	pickerDiv.style.top = "25px";
	pickerDiv.style.height = div_height;
	pickerDiv.style.width = div_width;
    pickerDiv.style.overflow = 'auto';
	pickerDiv.style.left = "20%";
	pickerDiv.style.right = "20%";
	pickerDiv.innerHTML = "<table width="+div_width+"><tr><td align=center>Loading image please wait...</td></tr></table>";
    //setTimeout("if (document.getElementById('" + div_name+"')) {new Draggable( '" + div_name+"' ,{revert:false,handle:'move_handle'});}",1000);
    csw_Set_Drag(div_name)
}

function csw_Set_Drag(div_name)
{
    if(!document.getElementById(div_name))
    {
        setTimeout("csw_Set_Drag('"+div_name+"')",200);
    }else{
        new Draggable( div_name ,{revert:false,handle:'move_handle'});
    }
}

function csw_clear_div(my_divs)
{
    if(my_divs.length)
    {
        
        for(i=0; i < my_divs.length; i++)
        {

            //alert('Cleared: ' + my_divs[i] );
            if(document.getElementById(my_divs[i]))
            {
                document.getElementById(my_divs[i]).innerHTML='';
            }
        }
    }else{
        //alert('Cleared: '+ my_divs);
        if(document.getElementById(my_divs))
        {
            document.getElementById(my_divs).innerHTML='';
        }
    }
}


function csw_show_item(item_id)
{
    csw_create_div('POPItem',618,720,100);
    csw_action('display','POPItem','SP','Item','prod_id',item_id);
}
    